目录 1
第1章 绪论——上机实验题1解析 1
实验题1.1 求素数 1
实验题1.2 求一个正整数的各位数字之和 2
实验题1.3 求一个字符串是否为回文 4
第2章 线性表——上机实验题2解析 6
实验题2.1 实现顺序表各种基本运算的算法 6
实验题2.2 实现单链表各种基本运算的算法 10
实验题2.3 实现双链表各种基本运算的算法 15
实验题2.4 实现循环单链表各种基本运算的算法 21
实验题2.5 实现循环双链表各种基本运算的算法 26
实验题2.6 求集合(用有序单链表表示)的并、交和差运算 33
实验题2.7 求两个多项式相加运算 37
第3章 栈和队列——上机实验题3解析 41
实验题3.1 实现顺序栈各种基本运算的算法 41
实验题3.2 实现链栈各种基本运算的算法 44
实验题3.3 实现顺序队列各种基本运算的算法 48
实验题3.4 实现链队各种基本运算的算法 52
实验题3.5 求解迷宫问题的所有路径及最短路径程序 56
实验题3.6 病人看病模拟程序 59
实验题3.7 停车场管理程序 62
实验题4.1 实现顺序串各种基本运算的算法 69
第4章 串——上机实验题4解析 69
实验题4.2 实现链串各种基本运算的算法 74
实验题4.3 顺序串的各种模式匹配运算 81
实验题4.4 文本串加密和解密程序 85
实验题4.5 求一个串中出现的第一个最长重复子串 87
第5章 数组和稀疏矩阵——上机实验题5解析 90
实验题5.1 求5×5阶螺旋方阵 90
实验题5.2 求一个矩阵的马鞍点 92
实验题5.3 求两个对称矩阵之和与乘积 94
实验题5.4 实现稀疏矩阵(采用三元组表示)的基本运算 97
实验题6.1 输出求解akm(2,1)的递推和求值过程 103
第6章 递归——上机实验题6解析 103
实验题6.2 求解n皇后问题 104
实验题6.3 求解背包问题 107
实验题6.4 采用递归和非递归方法求解F(n) 110
第7章 树状结构——上机实验题7解析 113
实验题7.1 实现二叉树各种基本运算的算法 113
实验题7.2 实现二叉树各种遍历算法 119
实验题7.3 求二叉树中从根结点到叶子结点的路径 126
实验题7.4 由遍历序列构造二叉树 130
实验题7.5 实现中序线索化二叉树 134
实验题7.6 构造哈夫曼树 138
实验题7.7 用二叉树来表示代数表达式 142
实验题8.1 实现广义表的各种基本运算算法 145
第8章 广义表——上机实验题8解析 145
实验题8.2 实现广义表求表头和表尾的运算 149
实验题8.3 实现广义表的相关运算算法(一) 152
实验题8.4 实现广义表的相关运算算法(二) 156
第9章 图——上机实验题9解析 162
实验题9.1 实现图的邻接矩阵和邻接表存储 162
实验题9.2 实现图的遍历算法 166
实验题9.3 求有向图的简单路径 170
实验题9.4 求无向图中满足约束条件的路径 175
实验题9.5 求无向图的深度优先生成树和广度优先生成树 178
实验题9.6 采用普里姆算法求最小生成树 181
实验题9.7 采用克鲁斯卡尔算法求最小生成树 184
实验题9.8 采用狄克斯特拉算法求有向带权图的最短路径 187
实验题9.9 采用弗洛伊德算法求有向带权图的最短路径 190
第10章 查找——上机实验题10解析 194
实验题10.1 实现顺序查找的算法 194
实验题10.2 实现二分查找的算法 195
实验题10.3 实现分块查找的算法 197
实验题10.4 实现二叉排序树的基本运算算法 200
实验题10.5 统计一个字符串中出现的字符及其次数 205
实验题10.6 实现二叉平衡树的相关运算算法 207
实验题10.7 实现B-树的相关运算算法 216
实验题10.8 实现哈希表的相关运算算法 225
第11章 内排序——上机实验题11解析 230
实验题11.1 实现直接插入排序算法 230
实验题11.2 实现希尔插入排序算法 232
实验题11.3 实现冒泡排序算法 234
实验题11.4 实现快速排序算法 235
实验题11.5 实现直接选择排序算法 237
实验题11.6 实现堆排序算法 239
实验题11.7 实现二路归并排序算法 242
实验题11.8 实现基数排序算法 244
实验题11.9 实现可变长度的字符串序列快速排序算法 247
实验题11.10 实现英文单词按字典序排列的基数排序算法 250
第12章 外排序——上机实验题12解析 254
实验题12.1 实现置换-选择算法 254
第13章 文件——上机实验题13解析 260
实验题13.1 实现索引文件建立和查找算法 260
第14章 综合实验题解析 267
综合实验题14.1 链表综合算法设计 267
综合实验题14.2 求复杂表达式的值 273
综合实验题14.3 用二叉树实现家谱的相关运算 287
附录 296
附录A 使用VC++6.0系统 296
附录B 实验报告格式 315