图书介绍

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

数据结构与算法 C语言实现
  • 张千帆著 著
  • 出版社: 北京:科学出版社
  • ISBN:9787030245175
  • 出版时间:2009
  • 标注页数:359页
  • 文件大小:59MB
  • 文件页数:373页
  • 主题词:数据结构-高等学校-教材;算法分析-高等学校-教材;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 数据与数据结构3

1.1.3 数据结构类型4

1.2 抽象数据类型6

1.2.1 C语言中的数据类型6

1.2.2 抽象数据类型7

1.3 算法分析8

1.3.1 问题、算法与程序8

1.3.2 算法效率的度量9

本章小结13

思考与练习题14

第2章 线性表15

2.1 线性表的基本概念15

2.1.1 线性表的定义与特点15

2.1.2 线性表的两类存储结构16

2.2 顺序表的算法实现18

2.2.1 顺序表的创建18

2.2.2 顺序表内结点的插入21

2.2.3 顺序表内结点的查找25

2.2.4 顺序表内元素的删除29

2.3 单链表的算法实现33

2.3.1 单链表的结点结构和一般形式33

2.3.2 单链表的创建33

2.3.3 单链表内元素的插入36

2.3.4 单链表内元素的查找39

2.3.5 单链表内元素的删除44

2.3.6 两个单链表的合并47

2.4 双向链表的算法实现52

2.4.1 双向链表的结点结构和一般形式52

2.4.2 双向链表的创建53

2.4.3 双向链表内元素的插入55

2.4.4 双向链表内元素的查找58

2.4.5 双向链表内元素的删除58

2.5 循环链表的算法实现62

2.5.1 循环链表的结点结构和一般形式62

2.5.2 循环链表的创建62

本章小结65

思考与练习题65

第3章 栈与队列67

3.1 栈的基本概念67

3.1.1 栈的定义与特点67

3.1.2 栈的两类存储结构67

3.2 顺序栈的算法实现68

3.2.1 顺序栈的建立和入栈68

3.2.2 顺序栈出栈70

3.3 队列的基本概念73

3.3.1 队列的定义与特点73

3.3.2 队列的存储结构73

3.4 顺序队列的算法实现75

3.4.1 顺序队列建立和入队75

3.4.2 顺序队列出队77

3.5 循环队列的算法实现80

3.5.1 循环队列建立和入队80

3.5.2 循环队列出队82

3.6 链队列的算法实现85

3.6.1 链队列建立和入队85

3.6.2 链队列出队87

3.7 栈和队列的应用——算术表达式求值90

本章小结101

思考与练习题101

第4章 串103

4.1 串的基本概念103

4.1.1 串的定义与特点103

4.1.2 串的存储结构104

4.2 串的算法实现106

4.2.1 串赋值算法106

4.2.2 求子串算法108

4.2.3 串比较算法110

4.2.4 串联接算法112

4.3 串的模式匹配算法实现115

4.3.1 串的朴素模式匹配算法115

4.3.2 改进的模式匹配算法118

本章小结122

思考与练习题122

第5章 数组和广义表124

5.1 数组的基本概念124

5.1.1 数组的定义与特点124

5.1.2 数组的存储结构125

5.2 特殊矩阵的压缩存储127

5.3 矩阵的算法实现130

5.4 广义表的基本概念136

5.4.1 广义表的定义与图形表示136

5.4.2 广义表的存储结构137

5.5 广义表的算法实现138

本章小结143

思考与练习题144

第6章 树和二叉树146

6.1 树的基本概念146

6.1.1 树的定义与基本术语146

6.1.2 树的表示形式和存储结构147

6.2 二叉树的基本概念151

6.2.1 二叉树的定义与性质151

6.2.2 二叉树的存储结构153

6.2.3 树、森林和二叉树的转换155

6.2.4 二叉树的遍历157

6.3 二叉树算法实现159

6.3.1 二叉树的建立159

6.3.2 递归的二叉树前序遍历161

6.3.3 非递归的二叉树前序遍历163

6.3.4 递归的二叉树中序遍历167

6.3.5 非递归的二叉树中序遍历169

6.3.6 递归的二叉树后序遍历172

6.3.7 非递归的二叉树后序遍历174

6.4 哈夫曼树及其应用178

6.4.1 哈夫曼树与哈夫曼编码179

6.4.2 哈夫曼算法实现180

本章小结186

思考与练习题186

第7章 图187

7.1 图的基本概念187

7.1.1 图的定义和术语187

7.1.2 图的表示与存储结构191

7.2 图的构造算法实现195

7.2.1 构造数组存储的图195

7.2.2 构造邻接表存储的无向图199

7.2.3 构造邻接表存储的有向图202

7.2.4 构造十字链表存储的有向图205

7.2.5 构造邻接多重表存储的无向图208

7.3 图的遍历算法实现212

7.3.1 深度优先遍历算法212

7.3.2 广度优先遍历算法217

7.4 最小生成树算法实现224

7.4.1 普里姆算法224

7.4.2 克鲁斯卡尔算法231

7.5 图的应用237

7.5.1 拓扑排序237

7.5.2 关键路径244

7.5.3 最短路径253

本章小结259

思考与练习题259

第8章 查找262

8.1 查找的基本概念262

8.1.1 相关术语262

8.1.2 查找表结构263

8.2 顺序查找算法的实现263

8.3 折半查找算法的实现266

8.4 分块查找算法271

8.4.1 索引表271

8.4.2 分块查找算法实现272

8.5 二叉排序树及其算法实现275

8.5.1 二叉排序树及其查找过程275

8.5.2 二叉排序树插入结点的过程276

8.5.3 二叉排序树删除结点的过程277

8.5.4 二叉排序树的算法实现278

8.6 平衡二叉树及其算法实现284

8.6.1 平衡二叉排序树及其构造284

8.6.2 平衡二叉排序树算法实现288

8.7 B-树及其算法实现295

8.7.1 B-树295

8.7.2 B-树的查找296

8.7.3 B-树的插入297

8.7.4 B-树的删除297

8.7.5 B-树的算法实现300

8.8 哈希查找的算法实现307

8.8.1 哈希表307

8.8.2 哈希函数构造方法307

8.8.3 哈希冲突的处理方法308

8.8.4 哈希表的算法实现310

本章小结314

思考与练习题315

第9章 排序317

9.1 排序的基本概念317

9.1.1 术语介绍317

9.1.2 常用的内容排序算法简介类型318

9.2 插入排序的算法实现320

9.2.1 直接插入排序320

9.2.2 希尔排序323

9.3 快速排序的算法实现327

9.4 选择排序的算法实现331

9.4.1 直接选择排序331

9.4.2 堆排序335

9.5 归并排序的算法实现339

9.6 基数排序的算法实现342

9.7 各种内部排序方法的比较349

9.7.1 时间性能349

9.7.2 空间性能349

9.7.3 排序方法的稳定性350

9.8 外部排序350

本章小结350

思考与练习题350

第10章 文件353

10.1 文件的基本概念353

10.1.1 文件记录与文件结构353

10.1.2 文件操作354

10.2 文件的存储结构354

10.2.1 顺序文件354

10.2.2 索引文件355

10.2.3 散列文件356

10.2.4 多关键字文件357

10.2.5 倒排序文件357

本章小结358

思考与练习题358

参考文献359

热门推荐