图书介绍

算法与数据结构 C语言描述 第2版pdf电子书版本下载

算法与数据结构 C语言描述  第2版
  • 张乃孝编著 著
  • 出版社: 北京:高等教育出版社
  • ISBN:7040185768
  • 出版时间:2006
  • 标注页数:359页
  • 文件大小:14MB
  • 文件页数:371页
  • 主题词:算法分析-高等学校-教材;数据结构-高等学校-教材

PDF下载


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

下载说明

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

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

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

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

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

图书目录

1 绪论 1

1.1 从问题到程序 1

1.1.1 问题分析与抽象 2

1.1.2 程序的设计与实现 3

1.2 抽象数据类型 6

1.2.1 什么是抽象数据类型 6

1.2.2 意义与作用 7

1.2.3 举例 7

1.3 数据结构 8

1.3.1 什么是数据结构 9

1.3.2 数据结构的分类 10

1.3.3 结点与结构 12

1.3.4 外存数据的组织 13

1.4 算法 16

1.4.1 什么是算法 16

1.4.2 算法的设计 17

1.4.3 算法的精化 18

1.4.4 算法的分析 21

小结 25

习题 27

2 线性表 29

2.1 基本概念与抽象数据类型 29

2.1.1 基本概念 29

2.1.2 抽象数据类型 30

2.2 顺序表示 31

2.2.1 存储结构 31

2.2.2 运算的实现 33

2.2.3 分析与评价 36

2.2.4 顺序表空间的扩展 38

2.3 链接表示 39

2.3.1 单链表表示 39

2.3.2 单链表上运算的实现 41

2.3.3 分析与比较 44

2.3.4 单链表的改进和扩充 45

2.4 应用举例 48

2.4.1 Josephus问题 48

2.4.2 采用顺序表模拟 49

2.4.3 采用循环链表模拟 50

2.5 矩阵 53

2.5.1 矩阵的顺序表示 53

2.5.2 稀疏矩阵的表示方法 54

2.6 广义表与动态存储管理 57

2.6.1 广义表 58

2.6.2 结点的动态分配与回收 60

2.6.3 废料收集与存储压缩 64

小结 65

习题 66

3 字符串 69

3.1 字符串及其抽象数据类型 69

3.1.1 基本概念 69

3.1.2 抽象数据类型 70

3.2 字符串的实现 71

3.2.1 顺序表示 71

3.2.2 链接表示 72

3.3 模式匹配 75

3.3.1 朴素的模式匹配 75

3.3.2 无回溯的模式匹配 77

小结 83

习题 83

4 栈与队列 85

4.1 栈及其抽象数据类型 85

4.1.1 基本概念 85

4.1.2 抽象数据类型 86

4.2 栈的实现 86

4.2.1 顺序表示 86

4.2.2 链接表示 89

4.3 栈的应用 91

4.3.1 栈与递归 92

4.3.2 迷宫问题 96

4.3.3 表达式计算 100

4.4 队列及其抽象数据类型 102

4.4.1 基本概念 102

4.4.2 抽象数据类型 102

4.5 队列的实现 103

4.5.1 顺序表示 103

4.5.2 链接表示 106

4.6 队列的应用 109

小结 113

习题 114

5 二叉树与树 117

5.1 二叉树及其抽象数据类型 117

5.1.1 基本概念 117

5.1.2 主要性质 120

5.1.3 抽象数据类型 122

5.2 二叉树的周游 123

5.2.1 什么是周游 123

5.2.2 周游的分类 124

5.2.3 一个例子 125

5.2.4 周游的抽象算法 126

5.3 二叉树的实现 131

5.3.1 顺序表示 131

5.3.2 链接表示 133

5.3.3 线索二叉树 135

5.4 二叉树的应用 139

5.4.1 堆与优先队列 139

5.4.2 哈夫曼树及其应用 144

5.5 树及其抽象数据类型 151

5.5.1 基本概念 151

5.5.2 抽象数据类型 152

5.5.3 树的周游 153

5.6 树的实现 156

5.6.1 父指针表示法 156

5.6.2 子表表示法 158

5.6.3 长子-兄弟表示法 160

5.6.4 树的其他表示法 161

5.7 树林 162

5.7.1 树林的周游 162

5.7.2 树林的存储表示 162

5.7.3 树林与二叉树的转换 163

小结 165

习题 166

6 集合与字典 169

6.1 集合及其抽象数据类型 169

6.1.1 基本概念 169

6.1.2 主要运算 170

6.1.3 抽象数据类型 171

6.2 集合的实现 172

6.2.1 集合的位向量表示 172

6.2.2 集合的单链表表示 177

6.3 字典及其抽象数据类型 180

6.3.1 基本概念 180

6.3.2 抽象数据类型 181

6.4 字典的顺序表示 181

6.4.1 存储结构 181

6.4.2 算法的实现 182

6.4.3 有序顺序表与二分法检索 183

6.5 字典的散列表示 186

6.5.1 基本概念 186

6.5.2 散列函数 187

6.5.3 碰撞的处理 189

6.5.4 散列文件 195

小结 197

习题 198

7 高级字典结构 200

7.1 字典与索引 200

7.1.1 字典的索引 200

7.1.2 索引的抽象 201

7.2 字符树 202

7.2.1 双链树表示 203

7.2.2 多链表示 203

7.3 二叉排序树 205

7.3.1 二叉排序树 205

7.3.2 二叉排序树的检索 206

7.3.3 二叉排序树的插入和构造 206

7.3.4 二叉排序树的删除 209

7.4 最佳二叉排序树 211

7.4.1 基本概念 211

7.4.2 等概率的检索 213

7.4.3 不等概的情况 214

7.5 平衡二叉排序树 220

7.5.1 基本概念 220

7.5.2 调整平衡的模式 221

7.5.3 实现 226

7.6 索引文件 232

7.6.1 多分树 232

7.6.2 B树 234

7.6.3 B+树 239

小结 242

习题 243

8 排序 245

8.1 基本概念 245

8.2 插入排序 246

8.2.1 直接插入排序 246

8.2.2 二分法插入排序 249

8.2.3 表插入排序 251

8.2.4 Shell排序 252

8.3 选择排序 254

8.3.1 直接选择排序 254

8.3.2 堆排序 255

8.4 交换排序 259

8.4.1 起泡排序 259

8.4.2 快速排序 261

8.5 分配排序 263

8.5.1 概述 264

8.5.2 基数排序 264

8.6 归并排序 267

8.6.1 内排序 267

8.6.2 外排序 270

小结 276

习题 278

9 图 280

9.1 基本概念及其抽象数据类型 280

9.1.1 基本概念 280

9.1.2 抽象数据类型 283

9.2 图的周游 285

9.2.1 深度优先周游 285

9.2.2 广度优先周游 287

9.3 存储表示 288

9.3.1 邻接矩阵表示法 289

9.3.2 邻接表表示法 291

9.3.3 两种表示的比较 292

9.4 最小生成树 293

9.4.1 最小生成树及其性质 294

9.4.2 最小生成树的构造 295

9.5 最短路径 300

9.5.1 Dijkstra算法 301

9.5.2 Floyd算法 304

9.6 拓扑排序 307

9.6.1 AOV网 307

9.6.2 拓扑排序 308

9.7 关键路径 311

9.7.1 AOE网 311

9.7.2 关键路径 312

小结 316

习题 317

10 算法分析与设计 320

10.1 算法分析技术 320

10.1.1 空间代价分析 320

10.1.2 时间代价分析 322

10.2 算法设计技术 326

10 2.1 分治法 326

10.2.2 贪心法 327

10.2 3 动态规划法 330

10.2 4 回溯法 335

10.2.5 分枝界限法与0/1背包问题 338

小结 342

习题 343

参考文献 345

索引 346

算法清单 355

后记 358

精品推荐