图书介绍

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

数据结构与算法 C语言描述
  • 沈华,文志诚,杨晓艳,张明武编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111511427
  • 出版时间:2015
  • 标注页数:344页
  • 文件大小:59MB
  • 文件页数:359页
  • 主题词:数据结构-高等学校-教材;算法分析-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


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

下载说明

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

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

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

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

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

图书目录

第一部分 概论部分3

第1章 数据结构3

1.1 什么是数据3

1.2 什么是数据结构3

1.2.1 数据的逻辑结构3

1.2.2 数据的存储结构6

1.2.3 数据的运算8

1.3 什么是数据类型9

1.4 什么是抽象数据类型9

1.5 知识点小结10

习题10

第2章 算法11

2.1 什么是算法11

2.2 算法的描述11

2.3 算法的性能分析12

2.3.1 时间复杂度13

2.3.2 渐近符号13

2.3.3 空间复杂度15

2.3.4 复杂度分析举例15

2.4 算法的性能度量18

2.4.1 性能度量的方法18

2.4.2 生成测试数据19

2.5 知识点小结19

习题19

第二部分 线性部分22

第3章 线性表22

3.1 线性表抽象数据类型22

3.1.1 线性表的逻辑结构22

3.1.2 线性表的基本运算22

3.1.3 线性表的ADT描述23

3.2 线性表的应用——两个一元多项式相加24

3.2.1 问题描述与分析24

3.2.2 问题求解25

3.3 线性表的实现26

3.3.1 顺序表26

3.3.2 单链表41

3.3.3 静态单链表52

3.3.4 一元多项式相加问题的求解实现56

3.4 线性表的其他实现及应用场景分析69

3.4.1 双(向)链表69

3.4.2 循环单(向)链表71

3.4.3 循环双(向)链表74

3.5 知识点小结75

习题75

第4章 栈77

4.1 栈抽象数据类型77

4.1.1 栈的逻辑结构77

4.1.2 栈的基本运算78

4.1.3 栈的ADT描述78

4.2 栈的应用——表达式求解79

4.2.1 问题描述与分析79

4.2.2 问题求解79

4.3 栈的实现85

4.3.1 顺序栈85

4.3.2 链栈88

4.3.3 在表达式求解问题上的性能分析与比较91

4.4 顺序栈的一种有趣实现——两个方向生长的栈91

4.5 栈与递归的天然联系92

4.6 知识点小结93

习题93

第5章 队列95

5.1 队列抽象数据类型95

5.1.1 队列的逻辑结构95

5.1.2 队列的基本运算95

5.1.3 队列的ADT描述96

5.2 队列的应用——模拟舞伴配对问题96

5.2.1 问题描述与分析96

5.2.2 问题求解97

5.3 队列的实现97

5.3.1 顺序队列97

5.3.2 循环队列101

5.3.3 链队列107

5.4 双端队列及队列应用场景举例110

5.4.1 双端队列110

5.4.2 队列应用场景举例111

5.5 知识点小结111

习题112

第6章 串113

6.1 串抽象数据类型113

6.1.1 串的逻辑结构113

6.1.2 串的基本运算113

6.1.3 串的ADT描述114

6.2 串的实现114

6.2.1 串的顺序存储表示114

6.2.2 串的堆分配存储表示118

6.2.3 串的块链存储表示120

6.3 串的模式匹配124

6.3.1 朴素的模式匹配算法124

6.3.2 KMP算法128

6.4 知识点小结133

习题133

第7章 数组及广义表134

7.1 数组的类型定义134

7.1.1 数组的定义134

7.1.2 数组的性质134

7.1.3 数组的基本运算134

7.2 多维数组的线性存储方法135

7.3 特殊矩阵的压缩存储138

7.3.1 特殊形状矩阵的压缩存储138

7.3.2 随机稀疏矩阵的压缩存储及其运算142

7.4 广义表154

7.4.1 广义表的基本概念154

7.4.2 广义表的性质155

7.4.3 广义表的基本运算155

7.4.4 广义表的存储结构156

7.5 知识点小结159

习题159

第三部分 非线性部分162

第8章 树与森林162

8.1 认识树162

8.1.1 (根)树的定义162

8.1.2 基本术语163

8.1.3 树的基本运算164

8.2 树的实现167

8.2.1 需要解决的关键问题167

8.2.2 关键问题的求解思路167

8.2.3 树的存储结构167

8.2.4 存储方案的比较分析178

8.3 树的创建178

8.3.1 问题描述与分析178

8.3.2 问题求解179

8.4 树的遍历180

8.4.1 问题描述与分析180

8.4.2 问题求解180

8.5 树的应用181

8.5.1 并查集181

8.5.2 等价类182

8.5.3 决策树184

8.6 森林184

8.7 知识点小结185

习题185

第9章 二叉树186

9.1 认识二叉树186

9.1.1 二叉树的定义186

9.1.2 二叉树的基本运算187

9.1.3 二叉树的性质189

9.2 二叉树的实现194

9.2.1 需要解决的关键问题194

9.2.2 关键问题的求解思路195

9.2.3 二叉树的存储结构195

9.2.4 方案的比较分析203

9.3 二叉树的创建203

9.3.1 问题描述与分析203

9.3.2 问题求解203

9.4 二叉树的遍历204

9.4.1 问题描述与分析204

9.4.2 问题求解208

9.4.3 二叉树遍历应用举例211

9.5 线索二叉树215

9.5.1 线索二叉树的应用需求215

9.5.2 二叉树的线索化217

9.5.3 线索二叉树上的运算219

9.6 二叉树的应用227

9.6.1 哈夫曼树及其应用227

9.6.2 二叉排序树及其应用233

9.6.3 平衡二叉树236

9.7 树、森林与二叉树的关系241

9.7.1 树、森林与二叉树的相互转换241

9.7.2 树、森林与二叉树在遍历运算上的关系244

9.8 知识点小结244

习题245

第10章 图246

10.1 认识图246

10.1.1 图的定义246

10.1.2 基本术语246

10.1.3 图的基本运算252

10.2 图的实现253

10.2.1 需要解决的关键问题253

10.2.2 关键问题的求解思路253

10.2.3 图的存储结构254

10.2.4 存储方案的比较分析261

10.3 图的创建262

10.3.1 问题描述与分析262

10.3.2 问题求解262

10.4 图的遍历264

10.4.1 问题描述与分析264

10.4.2 深度优先搜索遍历265

10.4.3 广度优先搜索遍历272

10.4.4 图遍历的应用277

10.5 生成树277

10.5.1 连通图的生成树277

10.5.2 连通网的最小生成树278

10.6 最短路径280

10.6.1 单源最短路径281

10.6.2 每对顶点间的最短路径284

10.6.3 最短路径应用举例288

10.7 有向无环图及其应用288

10.7.1 AOV网与拓扑排序288

10.7.2 AOE网与关键路径290

10.8 知识点小结293

习题293

第四部分 重要运算部分296

第11章 查找296

11.1 查找的基本概念296

11.2 静态查找297

11.2.1 顺序查找297

11.2.2 二分查找299

11.2.3 分块查找303

11.3 动态查找304

11.4 散列技术312

11.4.1 散列表的概念312

11.4.2 散列函数的构造方法312

11.4.3 处理冲突的方法312

11.4.4 散列表的查找315

11.4.5 散列表的应用317

11.5 知识点小结318

习题318

第12章 排序319

12.1 排序的基本概念319

12.2 插入排序321

12.2.1 直接插入排序321

12.2.2 希尔排序324

12.3 交换排序325

12.3.1 冒泡排序325

12.3.2 快速排序327

12.4 选择排序330

12.4.1 直接选择排序330

12.4.2 树形选择排序332

12.4.3 堆排序333

12.5 归并排序338

12.5.1 (内部)归并排序338

12.5.2 外部归并排序339

12.6 分配排序339

12.6.1 箱排序339

12.6.2 基数排序339

12.7 各种(内部)排序方法的比较341

12.8 知识点小结342

习题342

参考文献344

热门推荐