图书介绍

数据结构、算法与应用PDF|Epub|txt|kindle电子书版本网盘下载

数据结构、算法与应用
  • 齐悦,夏克俭,姚琳编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302399766
  • 出版时间:2015
  • 标注页数:298页
  • 文件大小:41MB
  • 文件页数:310页
  • 主题词:数据结构-高等学校-教材;算法分析-高等学校-教材;C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据结构、算法与应用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 研究数据结构的方法6

1.2 抽象数据类型的表示与实现7

1.3 学习数据结构的目的8

1.3.1 数据结构的发展简史及在计算机科学中的地位8

1.3.2 学习数据结构的目的9

1.4 算法和算法分析9

1.4.1 算法的定义9

1.4.2 算法的性质9

1.4.3 算法的设计目标11

1.4.4 算法效率的度量11

习题114

第2章 线性表16

2.1 线性表的定义及其基本操作16

2.1.1 线性表的定义16

2.1.2 线性表的逻辑结构和特征16

2.1.3 线性表的抽象数据类型表示17

2.2 线性表的顺序存储结构19

2.2.1 顺序表20

2.2.2 顺序表上的基本操作20

2.2.3 顺序存储结构的基本特点23

2.3 线性表的链式存储结构24

2.3.1 单链表24

2.3.2 单链表中的基本操作26

2.3.3 单向循环链表31

2.3.4 双向链表32

2.3.5 静态链表34

2.3.6 链式存储结构的特点37

2.4 线性表应用举例38

2.4.1 Josephu问题38

2.4.2 一元多项式的表示与相加41

本章小结45

习题245

第3章 栈与队列47

3.1 栈47

3.1.1 栈的定义及其操作47

3.1.2 栈的顺序存储结构49

3.1.3 栈的链式存储结构51

3.2 栈应用举例52

3.2.1 数制转换53

3.2.2 行编辑处理54

3.2.3 表达式求值56

3.3 栈与递归函数61

3.3.1 递归定义与递归函数61

3.3.2 递归函数到非递归函数的转化64

3.4 队列66

3.4.1 队列的定义及其操作66

3.4.2 队列的顺序存储结构67

3.4.3 队列的链式存储结构70

3.5 队列应用实例72

3.5.1 迷宫问题72

3.5.2 离散事件模拟75

3.5.3 有序事件模拟80

本章小结82

习题383

第4章 串84

4.1 串的定义及其操作84

4.1.1 串的定义84

4.1.2 串的抽象数据类型85

4.2 串的存储结构87

4.2.1 串的静态存储结构87

4.2.2 串的动态存储结构93

4.3 串模式匹配98

4.4 串应用举例101

4.4.1 文本编辑101

4.4.2 建立词索引表104

本章小结106

习题4106

第5章 数组和广义表107

5.1 数组的定义及其操作107

5.1.1 数组的定义107

5.1.2 数组的抽象数据类型108

5.2 数组的存储结构109

5.2.1 数组的静态存储方式109

5.2.2 数组的动态存储方式112

5.3 矩阵的压缩存储113

5.3.1 特殊矩阵的压缩存储113

5.3.2 稀疏矩阵的压缩存储116

5.4 广义表的定义及其操作120

5.4.1 广义表的定义120

5.4.2 广义表的抽象数据类型121

5.5 广义表的存储结构122

5.5.1 广义表的链式存储122

5.5.2 广义表基本操作的递归算法124

本章小结127

习题5127

第6章 树129

6.1 树的基本概念129

6.1.1 树的定义及基本操作130

6.1.2 树的性质133

6.2 二叉树135

6.2.1 二叉树的定义及基本操作135

6.2.2 二叉树的性质137

6.2.3 二叉树的存储结构139

6.3 二叉树的遍历142

6.3.1 二叉树的遍历算法142

6.3.2 二叉树遍历算法的非递归形式144

6.3.3 二叉树遍历的应用148

6.4 线索二叉树151

6.4.1 线索二叉树的概念151

6.4.2 建立线索二叉树153

6.4.3 线索二叉树的遍历154

6.4.4 线索二叉树的更新155

6.5 树和森林156

6.5.1 树的存储结构156

6.5.2 森林和二叉树的转换160

6.5.3 树和森林的遍历161

6.6 二叉树应用举例162

6.6.1 Huffman树及其构造算法162

6.6.2 Huffman编码及译码166

本章小结169

习题6169

第7章 图171

7.1 图的定义及操作171

7.1.1 图的定义171

7.1.2 图的抽象数据类型175

7.2 图的存储结构177

7.2.1 数组表示法177

7.2.2 邻接表表示法179

7.2.3 十字链表表示法181

7.2.4 邻接多重表表示法183

7.3 图的遍历184

7.3.1 深度优先搜索算法184

7.3.2 广度优先搜索算法186

7.3.3 求连通分量的算法187

7.4 最小生成树188

7.4.1 Prim算法189

7.4.2 Kruskal算法191

7.5 最短路径问题193

7.5.1 Dijkstra算法193

7.5.2 Floyd算法197

7.6 图的应用实例199

7.6.1 拓扑排序200

7.6.2 关键路径204

本章小结208

习题7209

第8章 查找211

8.1 查找概述211

8.2 顺序表的静态查找212

8.2.1 顺序查找算法213

8.2.2 折半查找算法214

8.2.3 分块查找算法216

8.3 树表的动态查找219

8.3.1 二叉排序树和平衡二叉排序树219

8.3.2 B-树232

8.3.3 B+树和B*树240

8.4 Hash表的查找241

8.4.1 Hash表的含义241

8.4.2 Hash函数的构造方法243

8.4.3 处理冲突的方法246

8.4.4 Hash表的查找及分析248

本章小结251

习题8252

第9章 排序253

9.1 排序概述253

9.2 插入排序255

9.2.1 直接插入排序255

9.2.2 折半插入排序258

9.2.3 链表插入排序259

9.2.4 Shell排序261

9.3 交换排序262

9.3.1 起泡排序262

9.3.2 快速排序264

9.4 选择排序266

9.4.1 直接选择排序267

9.4.2 堆选择排序268

9.5 归并排序274

9.6 基数排序276

9.7 各种内排序方法的比较讨论280

9.8 外排序概述281

习题9283

第10章 算法设计基础284

10.1 穷举法284

10.1.1 算法概述284

10.1.2 穷举法解决背包问题285

10.2 贪心法287

10.2.1 算法概述287

10.2.2 贪心法解决背包问题288

10.3 分治法289

10.3.1 分治策略289

10.3.2 应用实例:大整数乘法291

10.4 动态规划法292

10.4.1 算法概述292

10.4.2 动态规划法解决背包问题293

10.5 回溯法294

10.5.1 算法概述294

10.5.2 回溯法解决背包问题295

本章小结296

习题10296

参考文献298

热门推荐