目录 1
前言 1
第1章 数据结构基础知识 1
1.1 引言 1
1.2 数据结构的基本概念和术语 4
1.3 逻辑结构 5
1.4 存储结构 5
1.5 数据结构的基本操作 6
1.6 算法和算法效率分析基础 7
1.7 数据存储的特点 10
1.8 程序设计基本流程控制结构 11
1.9 指针、链表的概念和基本操作 14
1.10 面式思维和点式思维 15
1.11 程序设计的基本技巧 16
1.12 抽象数据类型 16
1.13 本章总结 17
2.1 引言 20
第2章 基本的排序算法及程序设计 20
2.2 排序算法设计与讨论 21
2.3 排序的程序设计 27
2.4 排序的应用 36
2.5 本章总结 37
第3章 递归技术及算法设计 38
3.1 引言 38
3.2 递归的基本概念 39
3.3 简单递归问题 39
3.4 复杂递归问题 41
3.5 本章总结 42
第4章 线性表的构造和实现 45
4.1 引言 45
4.2 逻辑结构的讨论 45
4.3 线性表的顺序存储 47
4.4 线性表的链接存储 49
4.5 线性表链接存储的变形 51
4.6 主要算法设计与讨论 53
4.7 线性表的其他算法设计 60
4.8 本章总结 63
第5章 栈的构造和实现 65
5.1 引言 65
5.2 逻辑结构的讨论 65
5.3 栈的顺序存储 66
5.4 栈的链接存储 67
5.5 主要算法设计与讨论 68
5.6 栈的应用 71
5.7 本章总结 76
第6章 队列的构造和实现 77
6.1 引言 77
6.2 逻辑结构的讨论 77
6.3 队列的顺序存储 78
6.4 队列的环状顺序存储 80
6.6 主要算法设计与讨论 81
6.5 队列的链接存储 81
6.7 队列的应用 83
6.8 本章总结 86
第7章 串的构造和实现 87
7.1 引言 87
7.2 逻辑结构的讨论 87
7.3 串的顺序存储 91
7.5 串的索引存储 92
7.4 串的链接存储 92
7.6 主要算法设计与讨论 94
7.7 串的应用 98
7.8 本章总结 99
第8章 二维数组的构造和实现 100
8.1 引言 100
8.2 逻辑结构的讨论 100
8.3 二维数组的行序或列序优先顺序存储 101
8.4 特殊矩阵的压缩存储 103
8.5 稀疏矩阵的压缩存储 104
8.6 稀疏矩阵的十字链表存储 105
8.7 二维数组结构的算法设计 107
8.8 本章总结 116
第9章 广义表的构造 117
9.1 引言 117
9.2 逻辑结构的讨论 117
9.3 存储结构:链接存储 119
9.4 表结构的应用 121
9.5 本章总结 123
10.2 逻辑结构的讨论 125
第10章 树和森林的构造 125
10.1 引言 125
10.3 树的顺序存储 129
10.4 树的链接存储 129
10.5 树的顺序和链接联合存储 130
10.6 树的应用 133
10.7 本章总结 136
11.2 逻辑结构的讨论 137
第11章 二叉树的构造和实现 137
11.1 引言 137
11.3 二叉树的顺序存储 139
11.4 二叉树的链接存储 140
11.5 二叉树的根序遍历和算法设计 141
11.6 二叉树的层次遍历和算法设计 145
11.7 其他主要算法设计与讨论 146
11.8 线索二叉树 147
11.9 二叉树的应用 152
11.10 树、森林和二叉树的关系 161
11.11 本章总结 163
第12章 图的构造和实现 165
12.1 引言 165
12.2 逻辑结构的讨论 165
12.3 图的顺序存储 169
12.4 图的链接存储 171
12.5 遍历操作的算法设计 176
12.6 图的应用之一:通信网最小生成树的研究和算法设计 180
12.7 图的应用之二:公路网最短路径的研究和算法设计 185
12.8 图的应用之三:AOV网与拓扑排序的研究和算法设计 189
12.9 本章总结 192
第13章 查找技术及算法设计 195
13.1 引言 195
13.2 初级查找技术:基于静态数据结构的查找 196
13.3 中级查找技术:基于动态数据结构的查找 200
13.4 高级查找技术:基于哈希表结构的查找 205
13.5 特殊查找技术:基于字符串结构的查找 210
13.6 查找的应用 214
13.7 本章总结 215
第14章 复杂排序技术及算法设计 216
14.1 引言 216
14.2 希尔排序技术 216
14.3 快速排序技术 217
14.4 树形选择排序技术 219
14.5 堆排序技术 220
14.6 基数排序技术 223
14.7 归并排序技术 226
14.8 外部排序技术简介 228
14.9 本章总结 230
第15章 文件的基本原理和应用 231
15.1 引言 231
15.2 存储结构之一:顺序文件 233
15.3 存储结构之二:索引文件 234
15.4 存储结构之三:索引顺序存取方法文件 236
15.5 存储结构之四:虚拟存储存取方法文件 237
15.6 存储结构之五:直接存取文件(散列文件) 239
15.7 存储结构之六:多重表文件 240
15.8 存储结构之七:倒排文件 241
15.9 文件系统的实用操作命令 242
15.10 文件应用的程序实现 252
15.11 本章总结 255
参考文献 259