第1部分 概述 2
第1章 课程介绍 2
1.1 本课程(模块)的学习意义和学习目标 2
1.2 本课程(模块)的能力要素分解 3
第2章 数据结构与算法概述 6
2.1 引言 6
2.2 数据与数据元素 7
2.3 数据结构 8
2.4 算法描述及分析 11
第2部分 线性结构 22
第3章 栈 22
3.1 引言 22
3.2 栈的概念 23
3.3 顺序栈 24
3.4 链栈 27
3.5 栈的应用实例 30
第4章 队列 38
4.1 引言 38
4.2 队列的概念 39
4.3 顺序队列 40
4.4 链队列 44
4.5 队列的应用实例 48
第5章 线性表 57
5.1 引言 57
5.2 线性表的概念 58
5.3 顺序表 59
5.4 链表 65
5.5 线性表的应用 79
第6章 矩阵和广义表 94
6.1 引言 94
6.2 矩阵的概念 95
6.3 矩阵的存储 96
6.4 矩阵的应用 104
6.5 广义表 111
第7章 查找与排序 119
7.1 引言 119
7.2 查找 120
7.3 排序 128
第3部分 树形结构 152
第8章 二叉树 152
8.1 引言 152
8.2 二叉树的概念 153
8.3 二叉树的存储 156
8.4 二叉树的遍历 160
8.5 二叉树的应用 168
第9章 树和森林 182
9.1 引言 182
9.2 树和森林的基本概念 183
9.3 树和森林的存储 184
9.4 树、森林与二叉树的转换 187
9.5 树和森林的遍历 189
第10章 查找与排序 194
10.1 引言 194
10.2 查找 195
10.3 堆排序 211
第4部分 图形结构 220
第11章 图的基本知识 220
11.1 引言 220
11.2 图的相关概念 221
11.3 图的存储 224
11.4 图的遍历 230
第12章 图的应用 239
12.1 引言 239
12.2 最小生成树 240
12.3 最短路径 244
12.4 拓扑排序 250
第5部分 散列结构、查找与排序 260
第13章 散列表 260
13.1 引言 260
13.2 集合的散列存储 261
13.3 散列函数的构造 262
13.4 处理冲突的方法 265
13.5 散列表的查找 267
第14章 查找与排序 271
14.1 引言 271
14.2 查找 272
14.3 排序 277