《数据结构》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:张曼,朱小谷,曾春平编著
  • 出 版 社:北京:红旗出版社
  • 出版年份:2005
  • ISBN:7505111124
  • 页数:199 页
图书介绍:本书介绍了包括线性表、堆栈、队列、树、图等在内的各种数据结构和稳健的基本概念,逻辑结构与存储结构,以及在这些结构的基础上事实的有关操作。

第1章 绪论 1

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

1.1.1 数据结构在计算机科学中的地位 1

1.1.2 学习数据结构的意义 1

目录 1

1.2 数据结构的主要内容 2

1.2.1 什么是数据结构 2

1.2.2 基本概念 2

1.3.1 算法及其特性 4

1.3 算法与算法分析 4

1.3.2 算法的描述 5

1.3.3 算法性能评价 5

1.4 习题 6

第2章 线性表 7

2.1 线性表的逻辑结构及其基本运算 7

2.1.1 线性表的逻辑结构 7

2.1.2 线性表的基本运算 8

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

2.2 线性表的顺序存储 9

2.2.2 顺序表的基本运算实现 10

2.2.3 顺序表应用示例 14

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

2.3.1 单链表 17

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

2.3.3 循环链表 26

2.3.4 双向链表 27

2.4 习题 28

3.1 栈的逻辑结构及其基本运算 29

第3章 栈与队列 29

3.2 栈的顺序存储及基本运算实现 30

3.2.1 栈的顺序存储结构 30

3.2.2 顺序存储栈的基本运算实现 31

3.3 栈的链式存储及基本运算实现 32

3.3.1 栈的链式存储结构 32

3.3.2 链式存储栈的基本运算 33

3.4 栈的应用举例 34

3.5 队列的逻辑结构及其基本运算 55

3.6 队列的顺序存储及运算实现 56

3.7 队列的链式存储及运算实现 60

3.8 列的应用举例 61

3.9 习题 66

第4章 串 67

4.1 串的逻辑结构及其基本运算 67

4.2 串的顺序存储及基本运算 68

4.2.1 串的定长顺序存储 68

4.2.2 定长顺序串的基本运算 69

4.2.3 顺序串的动态存储 72

4.2.4 动态存储顺序串的基本运算 72

4.3 串的链式存储及基本运算 76

4.3.1 串的链式存储 76

4.3.2 链式存储串的基本运算 76

4.4 C语言中所实现的串的运算 77

4.5 串的应用示例 79

10.5.4 归并排序的分析 1 87

4.6 习题 89

第5章 数组 90

5.1 数组的逻辑结构及其基本运算 90

5.2 数组的顺序存储及基本运算实现 91

5.3 习题 99

第6章 广义表 100

6.1 广义表的定义及基本运算 100

6.1.1 广义表的基本概念 100

6.1.2 广义表的基本运算 100

6.2 广义表的存储 101

6.2.1 广义表的存储结构 101

6.2.2 广义表基本操作的实现 104

6.2.3 广义表与多元多项式 107

6.3 习题 107

第7章 树与二叉树 109

7.1 树的基本概念 109

7.1.1 树的定义 109

7.1.2 基本名词术语 109

7.1.3 树的逻辑表示方法 110

7.1.4 树的基本操作 111

7.1.5 树的存储结构 112

7.2.2 二叉树的性质 114

7.2.1 二叉树的定义及相关概念 114

7.2 二叉树 114

7.2.4 二叉树的存储结构 116

7.2.3 二叉树的基本操作 116

7.3.1 树和二叉树 118

7.3 树、森林与二叉树之间的转换 118

7.3.2 森林和二叉树 119

7.4 二叉树的遍历和线索 120

7.4.1 遍历二叉树 120

7.4.2 线索二叉树 123

7.5 树的应用——最优二叉树 125

7.5.2 最优二叉树的基本概念 125

7.5.1 树的应用简介 125

7.5.3 构造哈夫曼树 127

7.5.4 哈夫曼树与哈夫曼编码 128

7.6 习题 130

第8章 图 132

8.1 图的基本概念 132

8.1.1 图的定义 132

8.1.2 图中的基本术语 133

8.2.1 图的基本操作 135

8.2 图的基本操作和存储结构 135

8.2.2 图的存储结构 135

8.3 图的遍历 141

8.3.1 图的遍历的基本概念 141

8.3.2 深度优先搜索遍历 141

8.3.3 广度优先搜索遍历 143

8.4 图的应用之一:最小生成树 144

8.4.1 生成树和最小生成树 144

8.4.2 普里姆(Prim)算法 146

8.4.3 克鲁斯卡尔(Kruskal)算法 148

8.5 图的应用之二:最短路径 150

8.5.1 最短路径和迪杰斯特拉(Dijkstra)算法 150

8.5.2 所有顶点对之间的最短路径 153

8.6 习题 155

第9章 查找 156

9.1 查找的基本概念 156

9.2.2 二分查找 158

9.2.1 顺序查找 158

9.2 线性表的查找 158

9.2.3 分块查找 161

9 3 散列查找 162

9.3.1 基本概念 162

9 3 2 哈希函数的构造 163

9.3.3 解决冲突的方法 165

9.3.4 哈希查找的性能分析 167

9.4 动态查找表 167

9.4.1 叉排序树查找 167

9 4.2 平衡二叉树(AVL树)查找 171

9.4.3 B-树 172

9.4.4 B+树 173

9.5 习题 173

第10章 内部排序 175

10.1 基本概念 175

10.2 插入排序 176

10.2.1 直接插入排序 176

10.2.2 Shell排序 177

10.3.1 冒泡排序 179

10.3 交换排序 179

10.3.2 快速排序 180

10 4 选择排序 181

10.4.1 简单选择排序 181

10.4.2 堆排序 183

10.5 归并排序 185

10.5.1 二路归并 185

10.5.2 二路归并的迭代算法 186

10.6.1 基本概念 187

10.6 基数排序 187

10.5.3 二路归并的递归算法 187

10.6.2 链式基数排序 188

10.7 各种内部排序方法的比较和选择 191

10.7.1 各种内部排序方法的比较 191

10.7.2 各种内部排序方法的选择 192

10.8 习题 192

第11章 外部排序 194

11.1 外部排序与归并 194

1 1 2 多路平衡归并的实现 195

11.3 习题 197