图书目录

目录

第1章绪论1

1.1数据结构的基本概念2

1.2算法和算法分析7

1.2.1算法定义7

1.2.2算法特性8

1.2.3算法设计要求9

1.2.4算法分析9

1.3习题13第2章线性表17

2.1线性表类型定义18

2.1.1线性表逻辑结构18

2.1.2线性表的抽象数据类型18

2.2线性表的顺序存储与操作21

2.2.1线性表的顺序存储结构21

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

2.3线性表的链式存储与操作28

2.3.1单链表29

2.3.2循环链表38

2.3.3双向链表40

2.4线性表的应用43

2.4.1线性表的合并43

2.4.2有序表的合并44

2.4.3线性表的逆置46

2.4.4一元多项式的计算48

2.5习题53数据结构目录第3章栈和队列57

3.1栈58

3.1.1栈的定义58

3.1.2栈的抽象数据类型定义58

3.1.3栈的顺序存储和实现59

3.1.4栈的链式存储和实现62

3.1.5顺序栈和链栈的比较63

3.2栈的应用63

3.3队列70

3.3.1队列的定义70

3.3.2队列的抽象数据类型定义71

3.3.3队列的顺序存储和实现72

3.3.4队列的链式存储和实现74

3.3.5循环队列和链队列的比较76

3.4队列的应用77

3.5习题81第4章串和数组85

4.1串86

4.1.1串的基本概念86

4.1.2串的存储结构87

4.1.3串的基本操作89

4.2串的模式匹配算法92

4.3数组95

4.3.1数组的定义95

4.3.2数组的顺序表示和实现96

4.3.3特殊矩阵的压缩存储97

4.4习题107第5章树111

5.1树的定义和基本术语112

5.1.1树的定义112

5.1.2树相关术语113

5.1.3树的抽象数据类型定义114

5.2二叉树115

5.2.1二叉树的定义115

5.2.2特殊形态的二叉树115

5.2.3二叉树常用性质117

5.2.4二叉树的抽象数据类型119

5.2.5二叉树的存储结构120

5.3二叉树的遍历操作和应用122

5.3.1二叉树的遍历122

5.3.2二叉树遍历的非递归实现124

5.3.3二叉树遍历算法的应用128

5.4线索二叉树131

5.5树和森林135

5.5.1树的顺序存储结构135

5.5.2树的链式存储结构136

5.5.3两种存储结构结合形式136

5.5.4森林与二叉树的转换139

5.5.5树和森林的遍历140

5.6哈夫曼树及其应用141

5.6.1哈夫曼树141

5.6.2哈夫曼树的应用——哈夫曼编码142

5.7习题148第6章图151

6.1图的逻辑结构152

6.1.1图的定义和基本术语152

6.1.2图的抽象数据类型定义155

6.2图的存储和实现156

6.2.1邻接矩阵157

6.2.2邻接表160

6.2.3十字链表162

6.2.4邻接多重表164

6.3图的遍历166

6.3.1深度优先遍历166

6.3.2广度优先遍历170

6.3.3遍历算法的应用172

6.4图的应用173

6.4.1最小生成树173

6.4.2最短路径180

6.4.3AOV网与拓扑排序187

6.4.4AOE网与关键路径193

6.5习题198第7章查找203

7.1查找的基本概念204

7.2基于线性表查找205

7.2.1顺序查找206

7.2.2折半查找207

7.2.3分块查找210

7.3基于树的查找212

7.3.1二叉排序树212

7.3.2平衡二叉排序树218

7.3.3B树223

7.3.4B+树231

7.4哈希表231

7.4.1哈希表的概念231

7.4.2哈希函数的构造方法233

7.4.3处理冲突的方法237

7.4.4哈希表的查找过程238

7.4.5哈希表的查找分析240

7.5习题241第8章排序245

8.1概述246

8.2插入排序249

8.2.1直接插入排序249

8.2.2折半插入排序250

8.2.3希尔排序251

8.3交换排序254

8.3.1冒泡排序254

8.3.2快速排序255

8.4选择排序258

8.4.1简单选择排序258

8.4.2堆排序259

8.5归并排序262

8.6基数排序264

8.6.1多关键字排序264

8.6.2链式基数排序265

8.7外部排序268

8.7.1外存信息的存取268

8.7.2外部排序方法271

8.7.3多路平衡归并的实现272

8.7.4初始顺串的生成274

8.8习题276附录A课程设计281

A.1弹药库存管理系统(线性表的应用)281

A.2战场通信网络的最短路径规划(图的应用)281

A.3火炮射击诸元解算(栈与表达式求值)282

A.4装甲目标优先级调度(队列的应用)282

A.5侦察无人机航迹压缩(树与哈夫曼编码)283

A.6战场地形网格导航(二维数组与BFS/DFS)283

A.7装备维修零件库存管理(哈希表应用)283

A.8战术指令加密传输(字符串与KMP算法)284

A.9装甲集群编队生成(最小生成树算法)284

A.10战场物资空投定位(平衡二叉搜索树)285参考文献286