《数据结构》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:姜君娜,安永丽,张立生编著
  • 出 版 社:广州:华南理工大学出版社
  • 出版年份:2014
  • ISBN:9787562342656
  • 页数:294 页
图书介绍:本书系统介绍了数据结构的基础知识和应用,涵盖了数据结构这门计算机类专业核心课程的教学大纲,兼顾了学科知识的广度和深度;同时采用项目驱动、案例教学模式编排数据结构知识点,并且为每章的知识点都搭配完整的C语言程序,在注重理论知识的同时加强了教学实践环节。书中详细讨论了栈、队列、链表以及查找结构、高级树结构等功能,对裴波那契堆、 伸展树、红黑树、2-3 树、2-3-4 树、二项堆、最小 - 最大堆、双端堆等新的数据 结构进行了有效分析;对一些特殊形式的堆结构,诸如应用在双端优先队列中的最小 - 最大堆和双端堆的数据结构以及左高树、裴波那契堆、 二项堆等数据结构,提供了经过编译和测试的程序和算法; 深入阐述了平摊复杂性问题,对大多数算法进行了时间复杂性的分析。

项目一 数据结构基本知识 2

任务:建立数学模型 2

任务描述 2

任务分析 2

准备知识 2

1.数据结构概述 2

2.基本术语 3

3.数据的存储结构 6

4.算法及算法分析 8

5.C语言预备知识 14

任务实施 21

项目小结 23

项目考核 23

项目二 线性表及其应用 26

任务一:利用顺序表对数据进行升序排序 26

任务描述 26

任务分析 26

准备知识 26

1.线性表概述 26

2.线性表的抽象数据类型和基本操作 27

3.线性表的顺序存储结构 31

任务实施 41

任务二:使用单链表对数据进行升序排序 42

任务描述 42

任务分析 42

准备知识 43

1.单链表 43

2.双向链表 53

3.循环链表 59

任务实施 59

项目小结 61

项目考核 61

项目三 栈的使用 64

任务:利用栈判断括号匹配情况 64

任务描述 64

任务分析 64

准备知识 64

1.栈的概述 64

2.栈的抽象数据类型和基本操作 64

3.栈的顺序存储结构 65

4.栈的链式存储结构 69

5.递归的概述 71

6.河内塔(Hanoi tower)问题 72

任务实施 74

项目小结 78

项目考核 78

项目四 队列及其应用 80

任务:使用队列模拟打印机打印顺序 80

任务描述 80

任务分析 80

准备知识 80

1.队列的概述 80

2.队列的抽象数据类型和基本操作 81

3.队列的顺序存储结构 82

4.顺序队列的改进——循环队列 86

5.队列的链式存储结构 88

任务实施 93

项目小结 96

项目考核 96

项目五 字符串及其应用 98

任务:使用字符串统计英文单词 98

任务描述 98

任务分析 98

准备知识 98

1.字符串的概述 98

2.字符串的抽象数据类型和基本操作 99

3.字符串的顺序存储结构 101

4.字符串的堆存储结构 106

5.字符串的块链存储结构 109

任务实施 111

项目小结 112

项目考核 112

项目六 树及二叉树 114

任务一:计算二叉树的前序遍历序列 114

任务描述 114

任务分析 114

准备知识 114

1.树结构 114

2.树形结构的种类 115

3.树的相关术语 115

4.二叉树的概述 116

5.满二叉树和完全二叉树 116

6.二叉树的性质 117

7.二叉树的抽象数据类型和基本操作 118

8.顺序存储结构 119

9.链式存储结构 120

10.二叉树的遍历 125

11.线索二叉树的概述 130

12.中序线索二叉树的构造和遍历 131

任务实施 135

任务二:使用Huffman树编写C语言程序 138

任务描述 138

任务分析 138

准备知识 138

1.霍夫曼树相关术语 139

2.霍夫曼树构造 140

任务实施 140

项目小结 143

项目考核 143

项目七 树、森林及二叉树 146

任务:实现深度为3的树 146

任务描述 146

任务分析 146

准备知识 146

1.树的概述 146

2.树和二叉树的三个主要差别 147

3.森林的概述 147

4.树的抽象数据类型和基本操作 147

5.树的遍历 148

6.森林的遍历 149

7.树的存储结构 149

8.树与二叉树的相互转换 152

9.森林与二叉树的相互转换 153

10.K叉树 153

任务实施 154

项目小结 161

项目考核 161

项目八 图形结构 164

任务:实现图的遍历 164

任务描述 164

任务分析 164

准备知识 164

1.图的定义与基本术语 164

2.图的概述 164

3.图的相关术语 165

4.图的抽象数据类型和基本操作 167

5.邻接矩阵表示法 168

6.邻接表表示法 174

7.十字链表 181

8.邻接多重表 183

9.深度优先搜索 186

10.广度优先搜索 189

11.最短路径问题 193

12.单源最短路径问题 194

13.狄克斯特拉(Dikastra)算法 195

14.最小生成树 199

15.最小生成树的性质 199

16.构造最小生成树的算法 199

17.拓扑排序 210

18.AOV网 210

19.拓扑排序(Topological Sort) 211

任务实施 214

项目小结 218

项目考核 218

项目九 排序 220

任务:使用选择排序输出结果 220

任务描述 220

任务分析 220

准备知识 220

1.排序的概述 220

2.排序分类 221

3.直接插入排序 221

4.冒泡排序 224

5.直接选择排序 226

6.简单排序算法的时间代价对比 227

7.Shell排序 227

8.快速排序 230

9.归并排序 234

10.堆排序 239

11.多关键码排序 244

12.链式基数排序 244

任务实施 247

项目小结 249

项目考核 249

项目十 查找 252

任务:使用哈希法输出最大值 252

任务描述 252

任务分析 252

准备知识 252

1.查找的基本概念 252

2.顺序查找 254

3.二分查找 258

4.分块查找 261

5.二叉排序树 264

6.平衡二叉排序树 270

7.B树和B+树 271

8.哈希表的概述 275

9.哈希函数的构造方法 276

10.处理冲突的方法 278

11.哈希表的实现 280

12.哈希表的查找分析 284

任务实施 285

项目小结 292

项目考核 292

参考文献 294