图书目录

目录

数据结构第1章绪论1本章要点1

1.1数据结构概念1

1.1.1为什么要学习数据结构1

1.1.2有关概念和术语4

1.2算法描述7

1.2.1算法特性7

1.2.2算法描述8

1.3算法分析9

小结10

习题11

第2章线性表12

本章要点12

2.1线性表的逻辑结构12

2.1.1线性表的定义12

2.1.2线性表的基本操作13

2.2线性表的顺序存储及操作实现14

2.2.1顺序表14

2.2.2顺序表的基本操作实现16

2.2.3顺序表应用举例20

2.3线性表的链式存储和运算实现22

2.3.1单链表22

2.3.2单链表上基本运算的实现24

2.3.3循环链表30

2.3.4双向链表31

2.4应用举例33

小结35

习题36

数据结构目录第3章栈和队列38

本章要点38

3.1栈38

3.1.1栈的定义和基本运算38

3.1.2栈的存储实现和运算实现39

3.2栈的应用举例42

3.3队列47

3.3.1队列的定义和基本运算47

3.3.2队列的存储实现和运算实现48

3.4队列应用举例54

小结55

习题55

第4章串和数组58

本章要点58

4.1串58

4.1.1串的基本概念58

4.1.2串的基本运算59

4.1.3串的存储和基本运算实现60

4.2数组63

4.2.1数组的逻辑结构63

4.2.2数组的内存映像64

4.2.3稀疏矩阵65

4.3应用举例69

小结70

习题70

第5章树和二叉树72

本章要点72

5.1树的概念和基本操作72

5.1.1树的定义和相关术语72

5.1.2树的基本操作74

5.2二叉树75

5.2.1二叉树的基本概念75

5.2.2二叉树的主要性质76

5.2.3二叉树的基本操作与存储实现77

5.2.4二叉树的遍历81

5.3树和森林84

5.3.1树的存储84

5.3.2树、森林与二叉树的转换87

5.3.3树和森林的遍历89

5.4最优二叉树——哈夫曼树91

5.4.1哈夫曼树的基本概念91

5.4.2哈夫曼树的构造算法92

5.4.3哈夫曼树在编码问题中的应用94

5.5应用举例96

小结99

习题99

第6章图102

本章要点102

6.1图的基本概念102

6.1.1图的定义和术语102

6.1.2图的基本操作106

6.2图的存储表示106

6.2.1邻接矩阵107

6.2.2邻接表109

6.3图的遍历111

6.3.1深度优先搜索111

6.3.2广度优先搜索113

6.4图的应用114

6.4.1最小生成树114

6.4.2最短路径118

6.4.3拓扑排序121

6.5应用举例125

小结129

习题130

第7章查找133

本章要点133

7.1基本概念和术语133

7.2静态查找表135

7.2.1静态查找表结构135

7.2.2顺序查找135

7.2.3有序表的折半查找136

7.2.4分块查找139

7.3动态查找表140

7.4哈希表144

7.4.1哈希表和哈希方法144

7.4.2常用的哈希函数145

7.4.3冲突处理方法147

7.4.4哈希表的查找及其分析149

7.5应用举例150

小结158

习题158

第8章排序160

本章要点160

8.1基本概念160

8.2简单排序方法161

8.2.1直接插入排序161

8.2.2冒泡排序163

8.2.3简单选择排序164

8.3快速排序165

8.4堆排序168

8.5归并排序171

8.6基数排序173

8.6.1多关键码排序173

8.6.2链式基数排序174

8.7排序方法的比较和讨论176

小结177

习题178

参考文献179