当前位置:首页 > 工业技术
数据结构与算法  C语言版
数据结构与算法  C语言版

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

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:传智播客编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302440680
  • 页数:366 页
图书介绍:以C语言为基础讲解数据结构与算法的相关知识。内容涵盖了线性表、栈与队列、串、数组与广义表、树、图等数据结构,常用的查找排序等算法以及文件处理的相关操作等。对每个知识点都进行了深入分析,精心设计了相应案例,并在最后一章以一个综合项目将前面所学的知识贯穿在一起,进行深入剖析。本书知识系统全面,编排上力求循序渐进,在语言描述上力求准确、易懂,在案例设计上力求实用。
《数据结构与算法 C语言版》目录

第1章 数据结构与算法概述 1

1.1 数据结构 1

1.1.1 什么是数据结构 1

1.1.2 数据结构的分类 2

1.2 抽象数据类型 6

1.3 算法 7

1.3.1 什么是算法 7

1.3.2 算法的特性 9

1.3.3 算法的复杂度 10

1.3.4 算法与数据结构 12

1.4 小结 12

【思考题】 12

第2章 线性表 13

2.1 什么是线性表 13

2.2 线性表的顺序存储(顺序表) 14

2.2.1 顺序存储的原理 14

2.2.2 顺序存储的实现 15

2.3 线性表的链式存储(链表) 23

2.3.1 链式存储的原理 23

2.3.2 链式存储的实现 24

2.4 双链表 31

2.4.1 什么是双链表 32

2.4.2 双链表的实现 32

2.5 循环链表 39

2.5.1 什么是循环链表 39

2.5.2 循环链表的实现 40

2.5.3 约瑟夫环 43

2.6 本章小结 48

【思考题】 49

第3章 栈和队列 50

3.1 什么是栈 50

3.2 栈的实现 51

3.2.1 栈的顺序存储实现 51

3.2.2 栈的链式存储实现 56

3.3 栈的应用 60

3.3.1 用栈实现四则运算 60

3.3.2 栈的递归应用 72

3.4 什么是队列 75

3.5 队列的实现 75

3.5.1 顺序队列的实现 76

3.5.2 链式队列的实现 80

3.5.3 循环队列 84

3.6 本章小结 86

【思考题】 87

第4章 串 88

4.1 什么是串 88

4.2 串的存储结构 89

4.2.1 串的顺序存储 89

4.2.2 串的链式存储 97

4.3 串的模式匹配算法 98

4.3.1 朴素的模式匹配 98

4.3.2 KMP算法(无回溯的模式匹配) 101

4.4 本章小结 105

【思考题】 105

第5章 数组和广义表 106

5.1 数组 106

5.2 矩阵的压缩存储 109

5.2.1 特殊矩阵 109

5.2.2 稀疏矩阵的定义 110

5.2.3 稀疏矩阵的创建 112

5.2.4 稀疏矩阵的转置 114

5.2.5 稀疏矩阵的十字链表表示 118

5.3 广义表 123

5.3.1 广义表的定义 123

5.3.2 广义表的存储结构 124

5.3.3 广义表的递归运算 125

5.4 本章小结 132

【思考题】 132

第6章 树 133

6.1 树 133

6.1.1 什么是树 133

6.1.2 树的表示法 135

6.2 二叉树 138

6.2.1 什么是二叉树 138

6.2.2 二叉树的分类 138

6.2.3 二叉树的性质 139

6.3 二叉树的存储结构 141

6.3.1 二叉树的顺序存储 141

6.3.2 二叉树的链式存储 143

6.4 二叉树的遍历 147

6.4.1 二叉树的遍历 147

6.4.2 递归思想的应用 151

6.5 二叉树的非递归遍历 154

6.6 二叉树与树、森林之间的转换 162

6.6.1 二叉树与树之间的转换 162

6.6.2 二叉树与森林之间的转换 162

6.7 二叉树的创建 164

6.7.1 中序和先序创建二叉树 164

6.7.2 #号法创建树 166

6.8 线索二叉树 169

6.8.1 什么是线索二叉树 169

6.8.2 二叉树的线索化 171

6.8.3 线索化二叉树的遍历 175

6.9 赫夫曼树 177

6.9.1 什么是赫夫曼树 177

6.9.2 赫夫曼树的构造 178

6.9.3 赫夫曼编码 179

6.10 本章小结 180

【思考题】 181

第7章 图 182

7.1 图的基本概念 182

7.1.1 图的定义与基本术语 182

7.1.2 图的基本操作 185

7.2 图的存储结构 186

7.2.1 图的邻接矩阵存储 187

7.2.2 图的邻接表存储 189

7.2.3 图的十字链表存储 192

7.2.4 图的邻接多重表存储 194

7.3 图的遍历 196

7.3.1 深度优先遍历 196

7.3.2 广度优先遍历 198

7.4 最小生成树 201

7.4.1 什么是最小生成树 201

7.4.2 Prim算法 203

7.4.3 Kruskal算法 207

7.5 最短路径 210

7.5.1 从源点到其他顶点的最短路径 211

7.5.2 每对顶点的最短路径 216

7.6 拓扑排序 219

7.7 关键路径 224

7.8 本章小结 229

【思考题】 230

第8章 查找 231

8.1 查找概述 231

8.2 顺序表的查找 232

8.3 有序表的查找 233

8.3.1 折半查找 233

8.3.2 插值查找 235

8.3.3 斐波纳契查找 235

8.4 索引顺序查找 239

8.5 二叉排序树 241

8.6 平衡二叉树 246

8.6.1 平衡二叉树的概念 246

8.6.2 平衡二叉树的插入 247

8.6.3 平衡二叉树的删除 252

8.7 B树 254

8.7.1 B树的概念 254

8.7.2 B树的插入 256

8.7.3 B树的删除 258

8.8 键树 261

8.9 哈希表 265

8.9.1 什么是哈希表 265

8.9.2 哈希函数的构造方法 267

8.9.3 处理哈希冲突 269

8.9.4 哈希表的查找实现 273

8.10 本章小结 275

【思考题】 275

第9章 内部排序 276

9.1 排序的概念与分类 276

9.2 交换排序 278

9.2.1 冒泡排序 279

9.2.2 快速排序 283

9.3 插入排序 286

9.3.1 直接插入排序 286

9.3.2 折半插入排序 289

9.3.3 希尔排序 290

9.4 选择排序 294

9.4.1 简单选择排序 294

9.4.2 树形选择排序 296

9.4.3 堆排序 298

9.5 归并排序 303

9.6 基数排序 307

9.6.1 基数排序基础 307

9.6.2 链式基数排序 310

9.7 内部排序方法比较 314

9.8 磁盘排序 315

9.8.1 外部存储设备 315

9.8.2 磁盘排序分析 317

9.8.3 置换-选择排序 319

9.8.4 多路平衡归并 321

9.8.5 最佳归并树 324

9.9 本章小结 325

【思考题】 326

第10章 文件 327

10.1 文件概述 327

10.2 顺序文件和索引文件 328

10.2.1 顺序文件 328

10.2.2 索引文件 329

10.3 ISAM文件和VSAM文件 331

10.3.1 ISAM文件 331

10.3.2 VSAM文件 334

10.4 哈希文件 336

10.5 多关键字文件 337

10.5.1 多重表文件 337

10.5.2 倒排文件 338

10.6 本章小结 339

【思考题】 339

第11章 综合项目——贪吃蛇 340

11.1 项目分析 340

11.1.1 模块设计 340

11.1.2 模块描述 342

11.1.3 项目分析 345

11.2 项目实现 346

11.2.1 创建项目 346

11.2.2 项目设计 346

11.2.3 项目实现 349

11.2.4 主函数实现 360

11.2.5 效果展示 364

11.3 项目心得 365

【思考题】 366

相关图书
作者其它书籍
返回顶部