第一部分 上机实验 1
第1章 绪论 1
实验1.1 编写一主程序分别调用整数加法和乘法函数 3
实验1.2 求最大、最小值 4
实验1.3 结构体的应用 5
第2章 线性表 7
实验2.1 实现顺序表各种基本运算 8
实验2.2 实现单链表(线性链表)各种基本运算 10
实验2.3 实现双链表各种基本运算 12
实验2.4 应用实例 15
第3章 栈和队列 18
实验3.1 实现顺序栈各种基本运算 19
实验3.2 实现链栈各种基本运算 21
实验3.3 实现循环队列基本运算 22
实验3.4 实现链队列各种基本运算 24
实验3.5 应用实例 26
第4章 串、数组和广义表 28
实验4.1 串的表示、实现和基本操作 29
实验4.2 实现三元组顺序表表示的稀疏矩阵的转置运算 32
第5章 树和二叉树 34
实验5.1 创建并输出二叉树 35
实验5.2 二叉树的遍历 37
实验5.3 线索二叉树及遍历 39
第6章 图 42
实验6.1 图的邻接表表示法和遍历算法的实现 44
实验6.2 普里姆算法求最小生成树 47
实验6.3 克鲁斯卡尔算法求最小生成树 49
实验6.4 单源最短路径 51
实验6.5 弗洛伊德算法求网中每一对顶点之间的最短路径 53
实验6.6 拓扑排序 54
实验6.7 关键路径 57
实验6.8 判断无向图G是否连通图 60
实验6.9 求图中通过某顶点k的所有简单回路 62
第7章 查找 65
实验7.1 线性表查找实现和运算 66
实验7.2 二叉排序树上的查找(创建、查找、插入)算法 67
实验7.3 哈希表的实现 70
第8章 内部排序 72
实验8.1 实现希尔排序 73
实验8.2 实现快速排序(递归) 74
实验8.3 实现堆排序 76
实验8.4 实现归并排序 77
第二部分 课后习题及解析 79
第1章 绪论 79
第2章 线性表 83
第3章 栈和队列 90
第4章 串、数组和广义表 96
第5章 树和二叉树 104
第6章 图 112
第7章 查找 120
第8章 内部排序 126
第9章 文件 137
第三部分 模拟试题及参考答案 139
模拟试题1 139
模拟试题2 141
模拟试题3 145
模拟试题4 147
模拟试题5 150
模拟试题6 154
模拟试题7 157
模拟试题8 160
模拟试题9 163
模拟试题10 165
模拟试题1 参考答案 169
模拟试题2 参考答案 171
模拟试题3 参考答案 173
模拟试题4 参考答案 175
模拟试题5 参考答案 177
模拟试题6 参考答案 180
模拟试题7 参考答案 183
模拟试题8 参考答案 185
模拟试题9 参考答案 187
模拟试题10 参考答案 188
附录A Visual C++ 6.0运行C程序步骤 190
附录B 实验报告的要求 195
参考文献 196