目录
数据结构第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
