图书介绍

数据结构与算法 C语言版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

数据结构与算法 C语言版
  • 传智播客编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302440680
  • 出版时间:2016
  • 标注页数:366页
  • 文件大小:137MB
  • 文件页数:381页
  • 主题词:数据结构;算法分析;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 抽象数据类型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

热门推荐