当前位置:首页 > 工业技术
数据结构与算法  第2版
数据结构与算法  第2版

数据结构与算法 第2版PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:陈卫卫,王庆瑞编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2015
  • ISBN:9787040433074
  • 页数:406 页
图书介绍:本书是对2010年第1版内容进行优化重组,修订而成,而第1版是依据《高等学校计算机科学与技术专业核心课程教学实施方案》,面向计算机专业应用型人才培养的要求编写的。本书内容包括数据结构和算法的基本概念、线性表的存储结构、顺序表、链表、栈、队、矩阵、字符串、广义表、散列表、树、二叉树、检索树、AVL树、红黑树、最优检索树、B树、B+树、2-3树、Trie树、哈夫曼树、判定树、Union-find树,以及图等基本结构,各结构的特点和存储方法,实现查找、插入、删除、遍历、搜索算法设计方法和时空效率分析;图的最小生成树和最短路径求解算法、DAG图的拓扑排序和关键路径求解算法;各种内排序算法、文件结构和外排序算法;问题的固有难度、算法设计的一般方法;表、树、图几个典型基本结构的C++类实现示例。全书配有各种题型的400多道习题及部分习题的参考答案。
《数据结构与算法 第2版》目录

第1章 概述 1

1.1基本概念 1

1.1.1数据结构的概念 1

1.1.2抽象数据类型 3

1.1.3算法的概念 5

习题1.1 6

1.2算法的描述和评价 6

1.2.1算法的描述 6

1.2.2算法的评价标准和评价方法 11

1.2.3计算时间复杂性的一般方法 15

习题1.2 17

内容小结 19

综合习题 20

第2章 表结构 21

2.1基本概念和顺序表 21

2.1.1基本概念 21

2.1.2顺序表的插入和删除 28

2.1.3顺序表的查找 30

习题2.1 34

2.2链表 38

2.2.1基本概念和链表种类 38

2.2.2链表的构造 45

2.2.3链表的遍历 48

2.2.4链表的插入和删除 50

2.2.5静态链表 56

习题2.2 63

2.3栈和队 72

2.3.1基本概念 72

2.3.2进栈和退栈算法 75

2.3.3进队和出队算法 78

2.3.4应用举例 82

习题2.3 85

2.4矩阵和字符串 90

2.4.1矩阵的基本概念和存储方法 90

2.4.2稀疏矩阵运算示例 94

2.4.3字符串的基本概念和简单匹配算法 99

2.4.4.其他匹配算法 102

习题2.4 111

2.5散列表 113

2.5.1散列函数 113

2.5.2散列表的处理算法 117

2.5.3散列表的性能分析 120

习题2.5 122

2.6广义表 124

习题2.6 126

2.7表结构的类实现示例 126

习题2.7 135

内容小结 137

综合习题 139

第3章 树结构 144

3.1基本概念和存储方法 144

3.1.1普通树的基本概念 144

3.1.2二叉树的基本概念 148

3.1.3普通树与二叉树的相互转换 152

3.1.4树的存储方法 154

习题3.1 157

3.2二叉树的遍历和构造 160

3.2.1二叉树的遍历 160

3.2.2遍历序列的前驱和后继 164

3.2.3遍历的应用示例 165

3.2.4二叉树的构造 169

3.2.5非递归的遍历算法 172

习题3.2 175

3.3检索树 183

3.3.1检索树的查找 183

3.3.2检索树的插入和构造 184

3.3.3检索树的删除 186

3.3.4最优检索树 190

习题3.3 195

3.4平衡树 196

3.4.1 AVL树 196

3.4.2红黑树 203

习题3.4 212

3.5B树和Trie树 213

3.5.1B树 213

3.5.2B+树 216

3.5.3 Trie树 221

习题3.5 222

3.6几个实用树结构 222

3.6.1哈夫曼树 222

3.6.2判定树 226

3.6.3 union-find树 229

习题3.6 233

3.7树结构的类实现示例 234

习题3.7 239

内容小结 239

综合习题 241

第4章 图结构 246

4.1基本概念和存储方法 246

4.1.1图的定义和有关术语 246

4.1.2图的存储方法 250

习题4.1 256

4.2图的遍历和应用示例 259

4.2.1先深搜索 259

4.2.2先广搜索 266

4.2.3无向图的关节点 268

习题4.2 273

4.3最小生成树和最短路径 276

4.3.1 Kruskal算法 276

4.3.2 Prim算法 281

4.3.3 Dijkstra算法 284

4.3.4 Floyd算法 288

习题4.3 290

4.4有向无回路图 292

4.4.1基本概念 292

4.4.2拓扑排序 294

4.4.3关键路径 297

习题4.4 301

4.5图结构的类实现示例 302

习题4.5 305

内容小结 305

综合习题 306

第5章 排序 308

5.1基本概念 309

习题5.1 310

5.2插入排序 310

5.2.1直接插入排序 310

5.2.2二分插入排序 313

5.2.3希尔排序 314

习题5.2 318

5.3交换排序 319

5.3.1冒泡排序 319

5.3.2快速排序 322

习题5.3 327

5.4选择排序 330

5.4.1一般原理和效率分析 330

5.4.2树选排序 331

5.4.3堆排序 332

习题5.4 338

5.5合并排序 340

5.5.1递归的合并排序 340

5.5.2非递归的合并排序 342

习题5.5 345

5.6基数排序 346

5.6.1基本原理和示例 346

5.6.2算法的实现和分析 349

习题5.6 352

5.7外部排序 354

5.7.1文件的组织结构 354

5.7.2顺串的合并 358

5.7.3初始顺串的生成 367

5.7.4最佳合并树 369

5.7.5磁带排序 371

习题5.7 373

内容小结 374

综合习题 375

第6章 问题的固有难度和算法设计的一般方法简介 377

6.1问题的固有难度和分类 377

6.1.1算法的重要地位 377

6.1.2问题的固有难度 379

6.1.3不确定性算法 381

6.1.4三大重要的问题类 383

习题6.1 385

6.2算法设计的一般方法 386

6.2.1集合运算的数据结构选取 386

6.2.2递归、分治和平衡 388

6.2.3贪心法 394

6.2.4动态规划法 396

6.2.5搜索-回溯法 399

习题6.2 402

内容小结 403

综合习题 404

参考文献 405

相关图书
作者其它书籍
返回顶部