第1章 绪论 1
1.1 数据结构的地位 1
1.2 基本概念和术语 3
1.3 数据类型和抽象数据类型 4
1.4 算法描述和算法评价 5
思考与练习 7
第2章 线性表 8
2.1 线性表的基本概念 8
2.2 线性表的顺序存储 9
2.3 线性表的链式存储结构 11
2.4 循环链表和双向链表 15
2.5 线性表的应用——一元多项式相加问题 17
思考与练习 22
综合实验 22
第3章 栈和队列 24
3.1 栈 24
3.2 队列 33
思考与练习 40
综合实验 40
第4章 数组 41
4.1 数组的基本概念 41
4.2 数组的顺序存储结构 41
4.3 特殊矩阵的压缩存储 42
4.4 稀疏矩阵的三元组存储 43
思考与练习 49
第5章 树与二叉树 50
5.1 树的定义和基本概念 50
5.2 二叉树 52
5.3 遍历二叉树 56
5.4 线索二叉树 59
5.5 树和森林 62
5.6 哈夫曼树及其应用 66
思考与练习 71
综合实验 71
第6章 图 72
6.1 图的基本概念 72
6.2 图的存储结构 74
6.3 图的遍历 77
6.4 图的最小生成树 81
6.5 最短路径 86
6.6 有向无环图及其应用 91
思考与练习 101
综合实验 102
第7章 查找 103
7.1 查找的基本概念 103
7.2 线性表的查找 104
7.3 树表查找 107
7.4 哈希表及其查找 115
思考与练习 122
综合实验 122
第8章 排序 124
8.1 排序的基本概念 124
8.2 插入排序 125
8.3 交换排序 128
8.4 选择排序 131
8.5 归并排序 134
8.6 基数排序 136
8.7 各种排序方法的比较 140
思考与练习 140
综合实验 141
附录1 数据结构模拟试题 142
附录2 模拟试题参考答案 184
参考文献 212