- ISBN:9787302505563
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:268
- 出版时间:2018-06-01
- 条形码:9787302505563 ; 978-7-302-50556-3
本书特色
《数据结构与算法实验教程》实验分层设计,按照初级、中级和高级设计每部分的实验内容;针对每个实验的常见问题进行总结;3.针对每个实验提出延伸内容,供学生独立设计与实现。
内容简介
本书是与主教材《数据结构与算法》配套的实验教程。第1章介绍了常用开发环境,包括Microsoft Visual Studio 2010和DevC++ 5; 第2~9章的内容分别是线性表、栈和队列、树和二叉树、搜索树、图、字典、排序和字符串。每章的实验分为初级实验、中级实验和高级实验3种类型。每个实验包括实验目的、实验内容、参考代码和扩展延伸4个部分。本书既可以和主教材一起使用,也可以脱离主教材单独使用。 本书可作为高等院校计算机类相关专业的教材,也可作为高职院校计算机类专业的教材,还可作为计算机爱好者的自学教材和从事计算机软件开发的工程技术人员的参考书。
目录
目录
第1章常用开发环境介绍
1.1Microsoft Visual Studio
1.1.1Microsoft Visual Studio的介绍
1.1.2Microsoft Visual Studio的使用
1.2DevC++
1.2.1DevC++的介绍
1.2.2DevC++的使用
第2章线性表
2.1初级实验1
2.2初级实验2
2.3初级实验3
2.4中级实验1
2.5中级实验2
2.6高级实验
第3章栈和队列
3.1初级实验1
3.2初级实验2
3.3初级实验3
3.4初级实验4
3.5中级实验1
3.6中级实验2
3.7高级实验1
3.8高级实验2
第4章树和二叉树
4.1初级实验1
4.2初级实验2
4.3初级实验3
4.4中级实验1
4.5中级实验2
4.6高级实验
第5章搜索树
5.1初级实验1
5.2初级实验2
5.3中级实验
5.4高级实验
第6章图
6.1初级实验1
6.2初级实验2
6.3初级实验3
6.4初级实验4
6.5初级实验5
6.6初级实验6
6.7中级实验1
6.8中级实验2
6.9中级实验3
6.10高级实验
第7章字典
7.1初级实验
7.2中级实验1
7.3中级实验2
7.4高级实验
第8章排序
8.1初级实验
8.2中级实验
8.3高级实验
第9章字符串
9.1初级实验1
9.2初级实验2
9.3中级实验1
9.4中级实验2
9.5高级实验
参考文献
节选
第5章搜索树 5.1初级实验1 一、 实验目的 掌握二分查找的过程和算法实现。 二、 实验内容 (1) 实现二分检索算法; (2) 用户输入数据能够判断检索是否成功,如果成功,输出该元素所在位置的信息和比较次数; 如果不成功,若查找的元素不存在,输出比较的次数和插入的位置。 三、 参考代码 1. 本程序的文件结构 图51程序的文件结构图 本程序的文件结构如图51所示,说明如下。 (1) SeqList.h: 顺序表头文件,提供了顺序表类型定义和相关接口说明,同第2章的初级实验1。 (2) SeqList.c: 顺序表接口的具体实现文件,同第2章的初级实验1。 (3) BinSearch.c: 二分检索算法,包括递归和迭代两种方式以及主函数,使用了顺序表,因此需要包含SeqList.h。 2. 二分检索算法的实现 BinSearch.c: 1#include 2#include 3#include "SeqList.h" 4//函数功能:二分检索算法(迭代) 5//参数slist:顺序表 6//参数key:要查找的元素 7//参数pos:如果查找的key不存在,pos记录key应插入的位置 8//返回值:如果元素存在,返回其位置; 如果元素不存在,返回-1,pos记录key应插入的位置 9int binsearch(SeqList slist, int key, int *pos) 10{ 11int index=1; //比较次数 12int mid; 13int low=0; 14int high=slist->n-1; 15while (low 16{ 17mid=(low+high) / 2; 18if (slist->elem[mid]==key) 19{ 20*pos=mid; 21printf("找到,共进行%d次比较\n", index); 22printf("要找的数据%d在位置%d上\n", key, mid); 23return mid; 24} 25else if (slist->elem[mid] > key) 26high=mid-1; 27else 28low=mid+1; 29index++; 30} 31*pos=low; 32printf("没有找到,共进行%d次比较\n", index - 1); 33printf("可将此数插入到位置%d上\n", *pos); 34return -1; 35} 36//函数功能:二分检索算法(递归) 37//参数slist:顺序表 38//参数key:要查找的元素 39//参数low:查找区间的低端位置 40//参数high:查找区间的高端位置 41//参数pos:如果查找的key不存在,pos记录key应插入的位置 42//返回值:如果元素存在,返回其位置; 如果元素不存在,返回-1,pos记录key应插入的位置
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0