图书介绍

“十二五”普通高等教育本科国家级规划教材 数据结构 C语言版 第3版pdf电子书版本下载

“十二五”普通高等教育本科国家级规划教材  数据结构  C语言版  第3版
  • 李云清,杨庆红,揭安全编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115364630
  • 出版时间:2014
  • 标注页数:295页
  • 文件大小:51MB
  • 文件页数:305页
  • 主题词:数据结构-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

“十二五”普通高等教育本科国家级规划教材 数据结构 C语言版 第3版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.1.3 数据的存储结构 3

1.1.4 数据的运算集合 5

1.2 数据类型和抽象数据类型 5

1.2.1 数据类型 6

1.2.2 抽象数据类型 7

1.2.3 抽象数据类型的描述和实现 7

1.3 算法和算法分析 8

1.3.1 算法的基本概念和基本特征 8

1.3.2 算法的时间复杂度和空间复杂度 8

习题 10

第2章 线性表及其顺序存储 11

2.1 线性表 11

2.2 顺序表 11

2.2.1 顺序表的基本概念及描述 11

2.2.2 顺序表的实现 12

2.3栈 16

2.3.1 栈的基本概念及描述 16

2.3.2 顺序栈及其实现 18

2.3.3 栈的应用之一——括号匹配 20

2.3.4 栈的应用之二——算术表达式求值 21

2.4 队列 26

2.4.1 队列的基本概念及描述 26

2.4.2 顺序队列及其实现 27

2.4.3 顺序循环队列及其实现 30

习题 32

第3章 线性表的链式存储 34

3.1 链式存储 34

3.2 单链表 35

3.2.1 单链表的基本概念及描述 35

3.2.2 单链表的实现 36

3.3 带头结点的单链表 40

3.3.1 带头结点的单链表的基本概念及描述 40

3.3.2 带头结点的单链表的实现 40

3.4 循环单链表 44

3.4.1 循环单链表的基本概念及描述 44

3.4.2 循环单链表的实现 44

3.5 双链表 50

3.5.1 双链表的基本概念及描述 50

3.5.2 双链表的实现 50

3.6 链式栈 55

3.6.1 链式栈的基本概念及描述 55

3.6.2 链式栈的实现 56

3.7 链式队列 58

3.7.1 链式队列的基本概念及描述 58

3.7.2 链式队列的实现 59

习题 62

第4章 字符串、数组和特殊矩阵 64

4.1 字符串 64

4.1.1 字符串的基本概念 64

4.1.2 字符串类的定义 64

4.1.3 字符串的存储及其实现 65

4.2 字符串的模式匹配 72

4.2.1 朴素的模式匹配算法 73

4.2.2 快速模式匹配算法 73

4.3 数组 76

4.3.1 数组和数组元素 76

4.3.2 数组类的定义 77

4.3.3 数组的顺序存储及实现 78

4.4 特殊矩阵 81

4.4.1 对称矩阵的压缩存储 82

4.4.2 三角矩阵的压缩存储 83

4.4.3 带状矩阵的压缩存储 84

4.5 稀疏矩阵 86

4.5.1 稀疏矩阵类的定义 86

4.5.2 稀疏矩阵的顺序存储及其实现 87

4.5.3 稀疏矩阵的链式存储及实现 89

习题 93

第5章 递归 94

5.1 递归的基本概念与递归程序设计 94

5.2 递归程序执行过程的分析 96

5.3 递归程序到非递归程序的转换 99

5.3.1 简单递归程序到非递归程序的转换 99

5.3.2 复杂递归程序到非递归程序的转换 102

5.4 递归程序设计的应用实例 107

习题 109

第6章 树型结构 110

6.1 树的基本概念 110

6.2 树类的定义 112

6.3 树的存储结构 112

6.3.1 双亲表示法 112

6.3.2 孩子表示法 113

6.3.3 孩子兄弟表示法 116

6.4 树的遍历 117

6.5 树的线性表示 120

6.5.1 树的括号表示 120

6.5.2 树的层号表示 122

习题 124

第7章 二叉树 125

7.1 二叉树的基本概念 125

7.2 二叉树的基本运算 127

7.3 二叉树的存储结构 128

7.3.1 顺序存储结构 128

7.3.2 链式存储结构 130

7.4 二叉树的遍历 131

7.4.1 二叉树遍历的定义 131

7.4.2 二叉树遍历的递归实现 131

7.4.3 二叉树遍历的非递归实现 133

7.5 二叉树其他运算的实现 137

7.6 穿线二叉树 139

7.6.1 穿线二叉树的定义 139

7.6.2 中序穿线二叉树的基本运算 140

7.6.3 中序穿线二叉树的存储结构及其实现 140

7.7 树、森林和二叉树的转换 143

7.7.1 树、森林到二叉树的转换 143

7.7.2 二叉树到树、森林的转换 144

习题 144

第8章 图 146

8.1 图的基本概念 146

8.2 图的基本运算 149

8.3 图的基本存储结构 150

8.3.1 邻接矩阵及其实现 150

8.3.2 邻接表及其实现 153

8.3.3 邻接多重表 155

8.4 图的遍历 156

8.4.1 深度优先遍历 156

8.4.2 广度优先遍历 158

8.5 生成树与最小生成树 160

8.5.1 最小生成树的定义 161

8.5.2 最小生成树的普里姆(Prim)算法 163

8.5.3 最小生成树的克鲁斯卡尔(Kruskal)算法 166

8.6 最短路径 169

8.6.1 单源最短路径 169

8.6.2 所有顶点对的最短路径 172

8.7 拓扑排序 174

8.8 关键路径 177

习题 182

第9章 检索 186

9.1 检索的基本概念 186

9.2 线性表的检索 187

9.2.1 顺序检索 187

9.2.2 二分法检索 188

9.2.3 分块检索 191

9.3 二叉排序树 193

9.4 丰满树和平衡树 200

9.4.1 丰满树 200

9.4.2 平衡二叉排序树 201

9.5 最佳二叉排序树和Huffman树 207

9.5.1 扩充二叉树 207

9.5.2 最佳二叉排序树 208

9.5.3 Huffman树 213

9.6 B树 216

9.6.1 B-树的定义 217

9.6.2 B-树的基本操作 217

9.6.3 B+树 222

9.7 散列表检索 224

9.7.1 散列存储 224

9.7.2 散列函数的构造 225

9.7.3 冲突处理 226

习题 230

第10章 内排序 233

10.1 排序的基本概念 233

10.2 插入排序 234

10.2.1 直接插入排序 234

10.2.2 二分法插入排序 237

10.2.3 表插入排序 238

10.2.4 Shell插入排序 240

10.3 选择排序 241

10.3.1 直接选择排序 241

10.3.2 树型选择排序 243

10.3.3 堆排序 245

10.4 交换排序 249

10.4.1 冒泡排序 249

10.4.2 快速排序 250

10.5 归并排序 253

10.6 基数排序 256

10.6.1 多排序码的排序 256

10.6.2 静态链式基数排序 256

习题 260

附录1基础实验 262

实验1线性表的顺序实现 262

实验2不带头结点的单链表 265

实验3带头结点的单链表 269

实验4栈与字符串 271

实验5递归 275

实验6树 278

实验7二叉树 280

实验8图 283

实验9检索 285

实验10排序 286

附录2综合实验 289

参考文献 295

精品推荐