图书介绍

数据结构与算法 C语言版PDF|Epub|txt|kindle电子书版本网盘下载

数据结构与算法 C语言版
  • 郭龙源,胡虚怀,何光明著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302220626
  • 出版时间:2010
  • 标注页数:388页
  • 文件大小:82MB
  • 文件页数:397页
  • 主题词:数据结构-高等学校-教材;算法分析-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构与算法 C语言版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 绪论1

1.1 学习数据结构与算法的意义1

1.1.1 学习数据结构的意义1

1.1.2 学习算法的意义2

1.2 数据结构3

1.2.1 数据结构概述3

1.2.2 基本概念和相关术语3

1.3 抽象数据类型5

1.4 算法6

1.4.1 算法概述6

1.4.2 算法与数据结构之间的关系7

1.4.3 算法的度量8

1.5 算法分析9

1.5.1 数学基础9

1.5.2 所需分析的问题10

1.5.3 运行时间的计算11

1.5.4 检验你的分析13

小结15

自测题答案16

编程项目17

第2章 线性表18

2.1 线性表的定义18

2.1.1 线性表概述18

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

2.1.3 线性表的相关操作20

2.2 线性表的顺序存储结构22

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

2.2.2 相关操作的实现23

2.2.3 顺序存储结构的分析29

2.3 线性表的链式存储结构29

2.3.1 线性链表与相关操作实现29

2.3.2 双向链表与相关操作实现38

2.3.3 循环链表与其相关操作实现41

2.3.4 链式存储结构分析42

2.4 线性表的应用43

2.4.1 一元多项式的抽象数据类型43

2.4.2 多项式的顺序表实现43

小结46

自测题答案47

编程项目48

第3章 栈和队列49

3.1 栈49

3.1.1 栈概述49

3.1.2 栈的实现50

3.1.3 栈的实现方式的比较54

3.2 栈的应用55

3.2.1 平衡符号55

3.2.2 表达式求值57

3.2.3 函数调用61

3.2.4 递归与栈62

3.3 队列67

3.3.1 队列概述67

3.3.2 队列的实现69

3.3.3 队列实现方法比较74

3.4 队列的应用75

3.4.1 排列问题75

3.4.2 非排列问题76

小结77

自测题答案78

编程项目79

第4章 串80

4.1 串的定义80

4.1.1 串80

4.1.2 串的抽象数据类型81

4.2 串的存储实现82

4.2.1 串的顺序存储结构82

4.2.2 串的链式存储结构85

4.3 串的模式匹配86

4.3.1 简单模式匹配算法86

4.3.2 KMP算法88

4.3.3 其他模式匹配算法92

小结94

自测题答案95

编程项目96

第5章 数组及广义表97

5.1 数组的定义97

5.1.1 数组的基本概念97

5.1.2 数组的抽象数据类型98

5.2 数组的顺序存储99

5.2.1 数组的顺序存储方式99

5.2.2 数组的顺序存储的基本操作100

5.3 矩阵的压缩存储102

5.3.1 特殊矩阵102

5.3.2 稀疏矩阵105

5.4 广义表113

5.4.1 广义表的定义113

5.4.2 广义表的存储114

5.4.3 广义表的基本操作116

小结120

自测题答案121

编程项目123

第6章 树和二叉树124

6.1 树的定义与基本操作124

6.1.1 树的定义与相关术语124

6.1.2 树的抽象数据类型126

6.2 二叉树127

6.2.1 二叉树的定义与基本操作127

6.2.2 二叉树的性质129

6.2.3 二叉树的存储结构131

6.2.4 二叉树的遍历133

6.2.5 线索化二叉树138

6.3 树和森林142

6.3.1 树的存储结构142

6.3.2 森林、树、二叉树的相互转化145

6.3.3 树和森林的遍历146

6.4 哈夫曼树与哈夫曼编码147

6.4.1 哈夫曼树148

6.4.2 哈夫曼编码151

小结154

自测题答案156

编程项目158

第7章 图159

7.1 图的定义159

7.1.1 图的定义和相关术语159

7.1.2 图的抽象数据类型163

7.2 图的存储方式164

7.2.1 数组表示法165

7.2.2 邻接表法167

7.2.3 十字链表法169

7.2.4 邻接多重表171

7.3 图的遍历173

7.3.1 深度优先遍历173

7.3.2 广度优先遍历175

7.4 图的连通性178

7.4.1 无向图的连通性178

7.4.2 有向图的连通性181

7.5 最小生成树182

7.5.1 基本概念182

7.5.2 Prim算法183

7.5.3 Kruskal算法185

7.6 最短路径187

7.6.1 从某个顶点到其余各顶点的最短路径187

7.6.2 所有点对最短路径190

7.7 有向无环图的应用193

7.7.1 拓扑排序193

7.7.2 求解关键路径197

小结202

自测题答案203

编程项目207

第8章 查找208

8.1 线性表上的查找208

8.1.1 顺序表上的查找208

8.1.2 有序表上的查找209

8.1.3 索引顺序表上的查找213

8.1.4 线性表上的查找算法比较215

8.2 树上的查找216

8.2.1 二叉排序树216

8.2.2 平衡二叉树224

8.2.3 B-树231

8.3 哈希表239

8.3.1 哈希表概述239

8.3.2 哈希函数的构造240

8.3.3 冲突的解决方法243

8.3.4 哈希表的查找分析249

小结250

自测题答案252

编程项目255

第9章 排序256

9.1 插入排序256

9.1.1 直接插入排序257

9.1.2 折半插入排序258

9.1.3 2路插入排序259

9.1.4 希尔排序261

9.2 交换排序264

9.2.1 冒泡排序264

9.2.2 快速排序265

9.3 选择排序269

9.3.1 直接选择排序269

9.3.2 树形选择排序271

9.3.3 堆排序272

9.4 归并排序276

9.5 基数排序279

9.6 各种内部排序方法比较281

9.7 外部排序284

9.7.1 选择外部排序的理由284

9.7.2 简单外部排序算法285

9.7.3 多路合并排序287

9.7.4 替换-选择排序287

小结290

自测题答案291

编程项目294

附录 各章编程项目参考答案295

参考文献388

热门推荐