第1章 线性表 1
1.1 知识点概述 1
1.2 线性表的顺序存储实验 1
【实验1.1】 顺序表基本操作的设计与实现 1
【实验1.2】 顺序表基本操作应用实验 6
1.3 线性表的链表实验 7
【实验1.3】 单链表的的设计与实现 7
1.4 线性表应用实验 13
【实验1.4】 集合的并交差运算 13
【实验1.5】 两个一元多项式相加实验 17
1.5 小结 22
第2章 栈与队列 23
2.1 知识点概述 23
2.2 栈与队列的基本操作实验 24
【实验2.1】 链栈的设计与实现 24
【实验2.2】 循环队列的设计与实现 27
【实验2.3】 链队列的设计 30
2.3 栈与队列的应用 33
【实验2.4】 用栈模拟队列的设计与实现 33
【实验2.5】 用栈排序的设计与实现 36
【实验2.6】 算术表达式求值的设计与实现 39
【实验2.7】 汉诺塔问题 46
【实验2.8】 迷宫求解问题 49
【实验2.9】 八皇后问题 54
2.4 小结 57
第3章 串 58
3.1 知识点概述 58
3.2 串的基本操作实验 58
【实验3.1】 字符串复制实验 58
【实验3.2】 求子串实验 60
【实验3.3】 字符串连接实验 62
【实验3.4】 字符串模式匹配BF实验 65
【实验3.5】 字符串模式匹配KMP实验 67
3.3 串的应用 70
【实验3.6】 串查找与替换 70
3.4 小结 73
第4章 数组 74
4.1 知识点概述 74
4.2 数组结构应用实验 74
【实验4.1】 矩阵运算的设计与实现 74
【实验4.2】 矩阵排序实验 77
【实验4.3】 稀疏矩阵运算的设计与实现 79
4.3 小结 82
5.1 知识点概述 83
第5章 树和二叉树 83
5.2 二叉树结构实验 85
【实验5.1】 数组存储二叉树实验 85
【实验5.2】 链表存储二叉树实验 88
【实验5.3】 计算二叉树的深度实验 92
【实验5.4】 二叉排序树的判定实验 95
【实验5.5】 二叉树的遍历实验 97
5.3 二叉树应用 103
【实验5.6】 哈夫曼编码的设计与实现 103
5.4 小结 109
6.1 知识点概述 110
第6章 图 110
6.2 图结构基本操作实验 113
【实验6.1】 图的邻接矩阵表示和邻接表表示相互转换实验 113
【实验6.2】 图的遍历实验 118
6.3 图结构应用 123
【实验6.3】 拓扑排序的设计与实现 123
【实验6.4】 最短路径的设计与实现 129
6.4 小结 133
第7章 查找 134
7.1 知识点概述 134
【实验7.1】 顺序查找的设计与实现 136
7.2 查找实验 136
【实验7.2】 折半查找的设计与实现 139
【实验7.3】 二叉排序树的设计与实现 141
【实验7.4】 哈希查找的设计与实现 144
7.3 小结 149
第8章 排序 150
8.1 知识点概述 150
8.2 插入排序实验 152
【实验8.1】 直接插入排序的设计与实现 152
【实验8.2】 希尔排序的设计与实现 154
【实验8.3】 冒泡排序的设计与实现 157
8.3 交换排序实验 157
【实验8.4】 快速排序的设计与实现 160
8.4 选择排序实验 162
【实验8.5】 直接选择排序的设计与实现 162
【实验8.6】 堆排序的设计与实现 164
8.5 小结 168
第9章 文件 169
9.1 知识点概述 169
9.2 综合实验 169
【实验9.1】 班级个人信息管理程序 169
【实验9.2】 《我的课表》程序的设计与实现 171
9.3 小结 175