第1章 预备知识 1
1.1 开发环境Microsoft Visual C++6.0的使用 1
1.1.1 使用Microsoft Visual C++编写控制台程序 1
1.1.2 程序的调试与相关技巧 3
1.2 算法描述应注意的问题 5
1.2.1 算法的表示与函数模块化 5
1.2.2 算法描述要点 6
1.2.3 与参数传递相关的技巧 6
1.2.4 函数结果的返回方式 8
第2章 线性表 9
2.1 线性表的顺序存储基本实验 9
2.1.1 顺序存储结构原理 9
2.1.2 实验目的 9
2.1.3 实验过程示例 9
2.1.4 实验内容及要求 14
2.1.5 实验总结与思考 14
2.2 线性表的链式存储基本实验 15
2.2.1 链式存储结构原理 15
2.2.2 实验目的 15
2.2.3 实验过程示例 15
2.2.4 实验内容及要求 21
2.2.5 实验总结与思考 23
2.3 线性表的应用综合实验 23
2.3.1 实验目的 23
2.3.2 实验过程示例 23
2.3.3 实验内容及要求 27
第3章 栈和队列 30
3.1 栈的操作基本实验 30
3.1.1 栈的存储原理 30
3.1.2 实验目的 31
3.1.3 实验过程示例 31
3.1.4 实验内容及要求 34
3.1.5 实验总结与思考 34
3.2 队列的操作基本实验 35
3.2.1 队列存储原理 35
3.2.2 实验目的 36
3.2.3 实验过程示例 36
3.2.4 实验内容及要求 37
3.2.5 实验总结与思考 37
3.3 栈和队列的应用综合实验 38
3.3.1 实验目的 38
3.3.2 实验过程示例 38
3.3.3 实验内容及要求 43
第4章 数组和广义表 46
4.1 稀疏矩阵的操作基本实验 46
4.1.1 稀疏矩阵的压缩存储原理 46
4.1.2 实验目的 46
4.1.3 实验过程示例 46
4.1.4 实验内容及要求 51
4.1.5 实验总结与思考 53
4.2 广义表的操作基本实验 53
4.2.1 广义表头尾链式存储原理 53
4.2.2 实验目的 54
4.2.3 实验过程示例 54
4.2.4 实验内容及要求 57
4.2.5 实验总结与思考 57
第5章 树和二叉树 58
5.1 二叉树的建立与遍历基本实验 58
5.1.1 树和二叉树的存储原理 58
5.1.2 实验目的 58
5.1.3 实验过程示例 59
5.1.4 实验内容及要求 64
5.1.5 实验总结及思考 64
5.2 树和二叉树的应用综合实验 65
5.2.1 实验目的 66
5.2.2 实验过程示例 66
5.2.3 实验内容及要求 72
第6章 图 73
6.1 图的创建及搜索基本实验 73
6.1.1 图的存储原理 73
6.1. 2实验目的 75
6.1.3 实验过程示例 75
6.1.4 实验内容及要求 80
6.1.5 实验总结与思考 80
6.2 图的应用综合实验 80
6.2.1 实验目的 81
6.2.2 实验过程示例 81
6.2.3 实验内容及要求 89
第7章 查找和排序 90
7.1 查找基本实验 90
7.1.1 实验目的 90
7.1.2 实验过程示例 90
7.1.3 实验内容及要求 94
7.1.4 实验总结与思考 94
7.2 排序基本实验 95
7.2.1 实验目的 95
7.2.2 实验过程示例 95
7.2.3 实验内容及要求 100
7.2.4 实验总结与思考 101
7.3 查找和排序的应用综合实验 101
7.3.1 实验目的 101
7.3.2 实验内容及要求 101
第8章 数据结构课程设计 102
8.1 数据结构课程设计的目的与意义 102
8.2 课程设计的要求 102
8.2.1 基本要求 102
8.2.2 学生应提交的资料 103
8.2.3 课程设计的考核办法 103
8.2.4 课程设计报告内容 103
8.3 数据结构课程设计题目汇编 104
8.3.1 一元稀疏多项式计算器 104
8.3.2 通信录管理系统 105
8.3.3 实现并对比三种基本的字符串匹配算法 105
8.3.4 利用队列求迷宫问题的最短路径 106
8.3.5 平衡二叉排序树的实现及分析 107
8.3.6 Treap结构上的基本操作 108
8.3.7 利用图搜索求迷宫的最短路径 110
8.3.8 真实地图的最短路径的查询 111
8.3.9 求第k短的最短路径算法 111
参考文献 114