第1章 概论 1
1.1 数据结构的概念 1
1.1.1 基本概念及术语 1
1.1.2 数据的逻辑结构 2
1.1.3 数据的存储结构 4
1.1.4 抽象数据类型 5
1.2 算法和算法分析 5
1.2.1 算法的概念 5
1.2.2 算法分析 6
1.2.3 相关C语言知识回顾 8
1.3 本章小结 11
课后习题 12
第2章 线性表 14
2.1 线性表的基本概念 14
2.1.1 线性表的定义 14
2.1.2 线性表的基本操作 14
2.2 顺序表 15
2.2.1 顺序表 15
2.2.2 顺序表的基本操作与实现 16
2.3 链表 19
2.3.1 单链表 20
2.3.2 单链表的基本操作与实现 21
2.3.3 链表的变形 25
2.4 线性表的应用举例 28
2.5 本章小结 33
课后习题 33
第3章 栈和队列 35
3.1 栈 35
3.1.1 栈的概念 35
3.1.2 栈的基本操作 35
3.1.3 顺序栈 36
3.1.4 链栈 39
3.2 队列 42
3.2.1 队列的概念 42
3.2.2 队列的基本操作 43
3.2.3 顺序队列 43
3.2.4 循环队列 44
3.2.5 链队列 49
3.3 栈和队列的应用举例 53
3.4 本章小结 58
课后习题 58
第4章 串和数组 61
4.1 串 61
4.1.1 串的基本概念 61
4.1.2 串的基本操作 62
4.1.3 串的存储结构 63
4.2 数组 71
4.2.1 数组的定义 71
4.2.2 数组存储的排列顺序 72
4.2.3 稀疏矩阵的压缩存储 73
4.2.4 稀疏矩阵的转置算法 74
4.3 本章小结 75
课后习题 75
第5章 树和二叉树 77
5.1 树 77
5.1.1 树的定义 77
5.1.2 树的表示方法 78
5.1.3 树的基本术语 78
5.1.4 树的存储结构 79
5.2 二叉树 81
5.2.1 二叉树的定义 81
5.2.2 二叉树的性质 82
5.2.3 二叉树的存储结构 84
5.2.4 二叉树的基本运算 85
5.3 二叉树的建立和遍历 85
5.3.1 二叉树的建立和输出 85
5.3.2 二叉树的遍历 87
5.3.3 由遍历序列恢复二叉树 90
5.4 树、森林与二叉树的转换 92
5.4.1 树、森林转换为二叉树 92
5.4.2 二叉树还原为树、森林 94
5.5 哈夫曼树 96
5.5.1 相关概念和哈夫曼树的定义 96
5.5.2 哈夫曼树的构造方法 97
5.5.3 哈夫曼编码 100
5.6 本章小结 104
课习题 104
第6章 图 107
6.1 图的基本概念 107
6.1.1 图的定义 107
6.1.2 图的基本术语 108
6.1.3 图的基本操作 110
6.2 图的存储结构 111
6.2.1 邻接矩阵 111
6.2.2 邻接表 113
6.3 图的遍历 118
6.3.1 深度优先搜索法 118
6.3.2 广度优先搜索法 120
6.4 最小生成树 122
6.4.1 普里姆(Prim)算法 122
6.4.2 克鲁斯卡尔(Kruskal)算法 126
6.5 拓扑排序 129
6.6 AOE网与关键路径 132
6.7 最短路径问题 135
6.7.1 求一个顶点到其他各顶点的最短路径 135
6.7.2 求每一对顶点之间的最短路径 139
6.8 本章小结 144
课后习题 144
第7章 查找 147
7.1 基本概念 147
7.2 静态查找 148
7.2.1 顺序查找 148
7.2.2 折半查找 150
7.2.3 分块查找 154
7.3 二叉排序树查找 156
7.3.1 二叉排序树的概念 157
7.3.2 二叉排序树的基本运算 157
7.4 哈希表查找 163
7.4.1 哈希表查找的基本思想 163
7.4.2 哈希表的构造方法 164
7.4.3 哈希表的冲突处理 165
7.4.4 哈希表的查找及性能分析 168
7.5 本章小结 170
课后习题 170
第8章 排序 173
8.1 排序的基本概念 173
8.1.1 排序的定义 173
8.1.2 排序的相关概念 173
8.2 插入排序 174
8.2.1 直接插入排序 174
8.2.2 希尔排序 176
8.3 交换排序 177
8.3.1 冒泡排序 178
8.3.2 快速排序 180
8.4 选择排序 182
8.4.1 直接选择排序 182
8.4.2 堆排序 183
8.5 归并排序 187
8.6 本章小结 190
课后习题 190
第9章 上机实训 192
9.1 学生成绩管理系统 192
9.2 约瑟夫环问题 199
9.3 停车场管理系统 203
9.4 求各城市间最短路程问题 211
9.5 二叉排序树的各种操作 214
习题答案 220
模拟试题 233
参考文献 240