目 录
第0章 项目总体实训规范 1
第1章 抽象数据类型项目实训 4
第2章 线性表项目实训 7
2.1 顺序表 8
2.2 单链表 13
2.3 循环链表 18
2.4 双向循环链表 20
2.5 静态链表 22
2.6 线性表应用项目(多项式运算) 26
2.7 线性表项目实训拓展 31
第3章 栈和队列项目实训 32
3.1 栈 32
3.1.1 顺序栈 32
3.1.2 链栈 37
3.2 队列 42
3.2.1 顺序队列 42
3.2.2 链队列 46
3.2.3 循环队列 50
3.3 栈和队列应用项目 54
3.4 栈和队列项目实训拓展 72
第4章 串项目实训 73
4.1 串的定长存储 74
4.2 串的堆分配存储 80
4.3 串的块链存储 83
4.4 串项目实训拓展 94
第5章 数组和广义表项目实训 96
5.1 数组的顺序存储 96
5.2 三元组稀疏矩阵 99
5.3 行逻辑链接稀疏矩阵 104
5.4 广义表头尾链式存储 110
5.5 数组与广义表项目实训拓展 116
第6章 树和二叉树项目实训 117
6.1 树 117
6.1.1 树的双亲表示法 118
6.1.2 树的孩子兄弟表示法 127
6.2 二叉树项目实训 138
6.2.1 二叉树的顺序存储 139
6.2.2 二叉树的链式存储 147
6.2.3 线索二叉树 156
6.3 树和二叉树应用项目 161
6.4 树和二叉树项目实训拓展 167
第7章 图结构项目实训 168
7.1 图的邻接矩阵表示 169
7.2 图的邻接表表示 183
7.3 图的十字链表表示 193
7.4 图的邻接多重表表示 202
7.5 图的高级算法项目 214
7.6 图项目实训拓展 228
第8章 动态存储管理项目实训 230
8.1 边界标识法 231
8.2 伙伴系统 235
8.3 动态内存管理项目实训拓展 239
第9章 查找表项目实训 240
9.1 静态查找表 241
9.1.1 顺序查找表 241
9.1.2 有序查找表 243
9.1.3 静态查找树表 246
9.2 动态查找表 250
9.2.1 二叉排序树 250
9.2.2 平衡二叉树 255
9.2.3 B-树 260
9.2.4 双链键树 265
9.2.5 Trie树 270
9.3 哈希表 274
9.4 查找项目实训拓展 279
第10章 排序项目实训 280
10.1 常见排序算法 280
10.2 链式基数排序 286
10.3 排序项目实训拓展 289
附录 标准化代码规范参考 291