《数据结构实验和课程设计指导 C++语言描述》PDF下载

  • 购买积分:8 如何计算积分?
  • 作  者:程欣宇编著
  • 出 版 社:贵阳:贵州大学出版社
  • 出版年份:2017
  • ISBN:9787569100228
  • 页数:147 页
图书介绍:本书是信息类专业基础课程《数据结构》的实验和课程设计任务指导教材,包含了《算法设计与分析》的经典实验任务和指导。书中为每个实验绘制了实验原理图、实验参考框架和扩展任务。让学生既有参考学习的框架程序,又有自己需要动手完成、完善和分析的实验内容。

第1章 实验环境介绍 1

1.1 实验工具的选择 1

1.2 安装配置Visual Studio 1

1.3 新建C++项目 2

1.4 符合Linux/G++/Online Judge规范的VC++项目 2

1.5 Visual Studio主界面 4

第2章 调试程序的技巧 5

2.1 实验教学中出现的一些现象 5

2.2 程序错误的分类 6

2.2.1 语法错/编译错Compile Error 6

2.2.2 语义错Semantic Error 7

2.2.3 链接错Link Error 7

2.2.4 运行错Runtime Error 8

2.2.5 算法错Logical Error 9

2.2.6 不要深究的错 9

2.3 调试前先把程序写好看 9

2.3.1 变量和函数命名基本原则 10

2.3.2 函数划分原则 10

2.3.3 代码缩进是必须遵守的底限 10

2.4 调试错误的原则 11

2.5 静态分析法 11

2.6 内置输入数据法 12

2.7 粘贴输入数据法 13

2.8 断点的设置 13

2.8.1 断点的作用 13

2.8.2 断点的设置方法 14

2.8.3 触发断点以后 14

2.8.4 让程序继续 15

2.8.5 复杂情况下的断点设置方法 15

2.9 单步跟踪调试 15

2.9.1 单步跟踪的概念 15

2.9.2 启用单步跟踪的位置和快捷键 16

2.9.3 step into与step over 16

2.10 常用调试窗口的使用 16

2.10.1 局部变量观察窗口 16

2.10.2 表达式观察窗口 17

2.10.3 调用堆栈观察窗口 18

2.11 一个综合调试示例 18

2.11.1 找到第一个BUG 19

2.11.2 找到第二个BUG 20

第3章 实验程序的统一要求 22

3.1 将实验程序分层 22

3.1.1 数据结构层 22

3.1.2 算法应用层 23

3.1.3 驱动测试层 23

3.2 简化交互功能 23

3.3 内置测试数据,不要编写键盘输入功能 23

3.4 使用模板函数和模板类 24

3.4.1 模板函数 24

3.4.2 模板类 25

3.4.3 小测验 25

第4章 线性表的封装与应用 27

4.1 顺序表的封装实验 27

4.2 单链表的封装实验 31

4.3 链表的应用:多项式的存储与运算 36

第5章 栈的封装与应用 40

5.1 栈的封装 40

5.2 栈的应用—表达式求值 43

5.3 栈的应用—回溯法求解地图着色 46

第6章 队列的封装与应用 50

6.1 队列的封装 50

6.2 队列的应用—迷宫寻路 54

第7章 串的封装与模式匹配 58

7.1 串的封装 58

7.2 串的快速匹配—KMP算法 63

7.3 串的快速匹配—Sunday算法 66

第8章 矩阵的封装与应用 69

8.1 稠密矩阵的封装 69

8.2 稀疏矩阵的封装及其快速转置 75

第9章 树的存储与应用 80

9.1 二叉树的封装与遍历 80

9.2 Huffman编解码 86

第10章 图的存储与应用 92

10.1 图的邻接链表封装 92

10.2 图的遍历 96

10.3 图的最小生成树 98

10.4 图的拓扑排序 100

10.5 关键路径 102

10.6 单源最短路径和所有点对最短路径 104

第11章 查找算法 108

11.1 折半查找 108

11.2 二叉排序树和AVL平衡二叉树 110

11.3 Hash表 114

第12章 排序算法 118

12.1 插入排序与希尔排序 118

12.2 选择排序与堆排序 120

12.3 快速排序与合并排序 123

12.4 线性时间排序 126

第13章 经典算法实验 128

13.1 分治与递归生成全排列实验 128

13.2 动态规划算法求最长公共子序列 131

13.3 回溯法求解n皇后问题 133

第14章 课程设计任务 135

14.1 地理信息管理系统 135

14.2 关系型数据库管理系统 137

14.3 词频统计 138

14.4 以不完整拼音搜索通讯录 139

14.5 排名估计 140

14.6 内存资源管理器设计 141

14.7 任务调度器 142

14.8 搜索引擎优化 143

14.9 云存储系统 144

14.10 支持k近邻机器学习算法的高效数据结构 145

14.11 多层级组织信息存储结构 146

参考文献 147