数据结构与算法
数据结构与算法封面图

数据结构与算法

冯贵良, 编著

出版社:清华大学出版社

年代:2016

定价:35.0

书籍简介:

结合教学实践,关注学生实际动手能力,对语言不过关的同学加以重点讲解具体算法及算法程序详细描述,突出算法重点,给出详细的算法全部的源程序,使得中下等学生对算法的理解和学习提供更好的帮助和辅导。

书籍目录:

Contents第1章绪论1

1.1数据结构的概念1

1.1.1为什么要学习数据结构1

1.1.2有关概念和术语4

1.1.3数据结构课程的内容6

1.2数据类型与抽象数据类型7

1.2.1数据类型7

1.2.2抽象数据类型7

1.3算法和算法分析8

1.3.1算法特性8

1.3.2算法描述9

1.3.3算法性能分析与度量9

第2章线性表11

2.1线性表的逻辑结构11

2.1.1线性表的定义11

2.1.2线性表的基本操作11

2.2线性表的顺序存储及运算实现12

2.2.1顺序表12

2.2.2顺序表上基本运算的实现14

2.2.3顺序表应用举例18

2.3线性表的链式存储和运算实现20

2.3.1单链表20

2.3.2单链表上基本运算的实现22

2.3.3循环链表28

2.3.4双向链表29

2.3.5静态链表302.3.6单链表应用举例32

2.4顺序表和链表的比较34

◆数据结构与算法目录第3章栈和队列36

3.1栈36

3.1.1栈的定义及基本操作36

3.1.2栈的存储实现和操作实现37

3.2栈的应用举例40

3.3队列50

3.3.1队列的定义及基本运算50

3.3.2队列的存储实现及运算实现50

3.4队列应用举例56

习题59

第4章串60

4.1串及基本运算60

4.1.1串的基本概念60

4.1.2串的基本运算60

4.2串的定长度顺序存储及基本运算62

4.2.1串的定长顺序存储62

4.2.2定长顺序串的基本运算63

4.2.3模式匹配64

4.3串的堆存储结构69

4.3.1串名的存储映像69

4.3.2堆存储结构71

4.3.3基于堆结构的基本运算71

习题73

第5章数组、特殊矩阵和广义表74

5.1多维数组74

5.1.1数组的逻辑结构74

5.1.2数组的内存映像74

5.2特殊矩阵的压缩存储77

5.2.1对称矩阵77

5.2.2三角矩阵78

5.2.3带状矩阵79

5.3稀疏矩阵80

5.3.1稀疏矩阵的三元组表存储80

5.3.2稀疏矩阵的十字链表存储86

5.4广义表92

5.4.1广义表的定义和基本运算92

5.4.2广义表的存储93

5.4.3广义表的基本操作的实现95

习题99

第6章二叉树101

6.1定义与性质101

6.1.1二叉树的基本概念101

6.1.2二叉树的主要性质103

6.2基本操作与存储实现104

6.2.1二叉树的存储104

6.2.2二叉树的基本操作及实现107

6.3二叉树的遍历110

6.3.1二叉树的遍历方法及递归实现110

6.3.2二叉树遍历的非递归实现112

6.3.3由遍历序列恢复二叉树116

6.3.4不用栈的二叉树遍历的非递归方法118

6.4线索二叉树118

6.4.1线索二叉树的定义及结构118

6.4.2线索二叉树的基本操作实现120

6.5二叉树的运用126

6.5.1二叉树遍历的运用126

6.5.2最优二叉树——哈夫曼树129

习题135

第7章树137

7.1树的概念与表示137

7.1.1树的定义及相关术语137

7.1.2树的表示138

7.2树的基本操作与存储139

7.2.1树的基本操作139

7.2.2树的存储结构140

7.3树、森林与二叉树的转换143

7.3.1树转换为二叉树143

7.3.2森林转化为二叉树144

7.3.3二叉树转换为树和森林145

7.4树和森林的遍历146

7.4.1树的遍历146

7.4.2森林的遍历147

7.5树的应用147

7.5.1判定树147

7.5.2集合的表示149

7.5.3关系等价求等价类问题151

习题152

第8章图153

8.1图的定义和术语153

8.1.1图的定义153

8.1.2图的相关术语153

8.1.3图的基本操作156

8.2图的存储表示157

8.2.1邻接矩阵157

8.2.2邻接表159

8.2.3十字链表161

8.2.4邻接多重表163

8.3图的遍历165

8.3.1深度优先搜索165

8.3.2广度优先搜索167

8.4图的连通性169

8.4.1无向图的连通性169

8.4.2有向图的连通性169

8.4.3生成树和生成森林170

8.4.4关结点和重连通分量172

8.5最小生成树175

8.5.1最小生成树的基本概念175

8.5.2构造最小生成树的Prim算法176

8.5.3构造最小生成树的Kruskal算法178

8.6最短路径181

8.6.1从一个源点到其他各点的最短路径181

8.6.2每一对顶点之间的最短路径183

8.7有向无环图及其应用186

8.7.1有向无环图的概念186

8.7.2AOV网与拓扑排序187

8.7.3AOE网与关键路径192

习题196

第9章查找197

9.1基本概念与术语197

9.2静态查找表199

9.2.1静态查找表结构199

9.2.2顺序查找200

9.2.3有序表的折半查找201

9.2.4有序表的插值查找和斐波那契查找203

9.2.5分块查找205

9.3动态查找表205

9.3.1二叉排序树205

9.3.2平衡二叉树210

9.3.3B-树和B+树216

9.4哈希表查找(杂凑法)223

9.4.1哈希表与哈希方法223

9.4.2常用的哈希函数224

9.4.3处理冲突的方法225

9.4.4哈希表的查找分析229

习题230

第10章排序231

10.1基本概念231

10.2插入排序231

10.2.1直接插入排序231

10.2.2折半插入排序233

10.2.3表插入排序234

10.2.4希尔排序236

10.3交换排序238

10.3.1冒泡排序238

10.3.2快速排序239

10.4选择排序241

10.4.1简单选择排序242

10.4.2树型选择排序242

10.4.3堆排序243

10.5二路归并排序246

10.6基数排序248

10.6.1多关键码排序248

10.6.2链式基数排序248

10.7外部排序251

10.7.1外部排序的方法251

10.7.2多路平衡归并的实现253

习题255

内容摘要:

本书把数据结构的原理和算法分析技术有机地结合在一起,系统地介绍各种数据结构及各种数据结构的相关算法,使用C语言作为算法描述语言,通过C语言实现了具体算法,能够更好地让学生理解各种数据结构的基本描述方法,借助抽象数据类型,从逻辑结构的角度系统地介绍线性表、栈、队列、串、数组、矩阵、广义表、二叉树、树和图等各种基本数据结构;从算法的角度讨论查找方法和排序算法;从应用的角度介绍了一些具体的应用在C语言下的代码实现。全书共分三部分:第1部分(第1章)为基本概念介绍部分,介绍数据结构、抽象数据类型以及算法的基本概念;第2部分(第2~8章)为基本数据结构部分,重点介绍线性表、栈、队列、串、数组、矩阵、广义表、二叉树、树和图等各种基本数据结构,并且附带有具体的算法实现的代码;第3部分(第9章和第10章)为算法应用设计,重点介绍顺序查找、折半查找、插值查找、斐波那契查找、分块查找等静态查找的具体算法,介绍在二叉排序树、平衡二叉树上的动态查找算法以及哈希表查找算法等。全书提供了大量应用实例,每章后均附有习题。本书适合作为高等院校计算机、软件工程专业高年级本科生、研究生的教材,同时可供对数据结构比较熟悉并且对软件设计有所了解的开发人员、广大科技工作者和研究人员参考

编辑推荐:

1、使用大量的示例和图表阐明各种概念及理论。
2、本书以传统的数据结构的主要内容为主线,在充分讨论结构的逻辑特征与存储表示的基础上,突出算法重点。
3、注重算法实现的源码设计,在学习算法的同时,了解算法的设计实现过程,用C++语言完成数据结构的描述和实现。
4、本书更加强调数据结构的应用,对不同的数据结构类型设计多个应用实例,每一算法或程序的编写力求高效、易读,并遵循程序设计的规范,从而帮助读者将数据结构与工程应用有机结合起来。

书籍规格:

书籍详细信息
书名数据结构与算法站内查询相似图书
9787302432166
如需购买下载《数据结构与算法》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)35.0语种简体中文
尺寸26 × 19装帧平装
页数印数 2000

书籍信息归属:

数据结构与算法是清华大学出版社于2016.出版的中图分类号为 TP311.12 的主题关于 数据结构-高等学校-教材 ,算法分析-高等学校-教材 的书籍。