第1章 绪论 …………………………………………………………………………… 1
1.1 数据结构概述 …………………………………………………………………… 2
1.2 数据元素之间的逻辑关系 ……………………………………………………… 3
1.3 数据元素之间的物理关系 ……………………………………………………… 5
1.4 算法概述 ………………………………………………………………………… 6
1.5 算法的优劣选择 ………………………………………………………………… 7
1.6 算法效率分析 …………………………………………………………………… 8
1.7 使用Java语言描述数据结构的优势 ………………………………………… 10
1.8 Java数据结构基础 …………………………………………………………… 10
1.9 习题 …………………………………………………………………………… 19
第2章 线性表………………………………………………………………………… 20
2.1 线性表的逻辑结构 …………………………………………………………… 21
2.2 线性表的顺序表示和实现 …………………………………………………… 22
2.3 线性表的链式表示和实现 …………………………………………………… 31
2.4 习题 …………………………………………………………………………… 46
第3章 栈和队列……………………………………………………………………… 48
3.1 栈 ……………………………………………………………………………… 49
3.2 队列 …………………………………………………………………………… 58
3.3 栈和队列的应用举例 ………………………………………………………… 65
3.4 习题 …………………………………………………………………………… 70
第4章 串、矩阵和广义表 ………………………………………………………… 73
4.1 串及其运算 …………………………………………………………………… 74
4.2 串的存储与实现 ……………………………………………………………… 75
4.3 矩阵 …………………………………………………………………………… 82
4.4 广义表 ………………………………………………………………………… 91
4.5 习题 …………………………………………………………………………… 93
第5章 树和二叉树 ………………………………………………………………… 95
5.1 树的定义及其基本术语 ……………………………………………………… 96
5.2 二叉树 ………………………………………………………………………… 101
5.3 二叉树遍历 …………………………………………………………………… 106
5.4 树和森林 ……………………………………………………………………… 111
5.5 二叉树的应用:哈夫曼树与哈夫曼编码 …………………………………… 117
5.6 习题 …………………………………………………………………………… 121
第6章 图 …………………………………………………………………………… 126
6.1 图的定义及其常用术语 ……………………………………………………… 127
6.2 图的存储结构 ………………………………………………………………… 130
6.3 图的遍历 ……………………………………………………………………… 133
6.4 生成树和最小生成树 ………………………………………………………… 136
6.5 图的应用 ……………………………………………………………………… 140
6.6 习题 …………………………………………………………………………… 147
第7章 查找 ………………………………………………………………………… 150
7.1 查找的基本概念 ……………………………………………………………… 151
7.2 顺序 (线性)查找 …………………………………………………………… 152
7.3 二分 (折半)查找 …………………………………………………………… 154
7.4 插值查找 ……………………………………………………………………… 157
7.5 斐波那契 (黄金分割法)查找算法 ………………………………………… 159
7.6 哈希查找 ……………………………………………………………………… 161
7.7 习题 …………………………………………………………………………… 168
第8章 排序 ………………………………………………………………………… 170
8.1 排序的基本概念 ……………………………………………………………… 171
8.2 插入排序 ……………………………………………………………………… 171
8.3 交换排序 ……………………………………………………………………… 174
8.4 选择排序 ……………………………………………………………………… 179
8.5 归并排序 (二路归并排序) ………………………………………………… 184
8.6 各种排序方法的比较 ………………………………………………………… 186
8.7 习题 …………………………………………………………………………… 187
参考文献………………………………………………………………………………… 190