图书介绍

数据结构与算法经典问题解析 原书第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

数据结构与算法经典问题解析 原书第2版
  • (印度)纳拉辛哈·卡鲁曼希(Narasimha Karumanchi)著;沈华,李兵兵,杜江毅,张明武译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111612414
  • 出版时间:2019
  • 标注页数:484页
  • 文件大小:177MB
  • 文件页数:494页
  • 主题词:

PDF下载


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

下载说明

数据结构与算法经典问题解析 原书第2版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 绪论1

1.1变量1

1.2数据类型1

1.3数据结构2

1.4抽象数据类型2

1.5什么是算法3

1.6为什么需要分析算法3

1.7算法分析的目的3

1.8什么是运行时间分析3

1.9如何比较算法4

1.10什么是增长率4

1.11常用的增长率4

1.12算法分析的类型5

1.13渐近符号5

1.14 O符号6

1.15Ω符号7

1.16 ?符号8

1.17为什么称为渐近分析9

1.18渐近分析的准则9

1.19渐近符号的性质11

1.20常用的对数公式和求和公式11

1.21分治法的主定理11

1.22与分治法主定理相关的问题12

1.23减治递推的主定理13

1.24减治主定理的另一种形式13

1.25猜测与确认的方法13

1.26平摊分析15

1.27关于算法分析的问题集15

第2章 递归与回溯28

2.1引言28

2.2什么是递归28

2.3为什么需要递归28

2.4递归函数的格式28

2.5递归与内存(图形化演示)29

2.6递归与迭代30

2.7递归的要点30

2.8递归算法举例30

2.9关于递归的问题集31

2.10什么是回溯32

2.11回溯算法举例32

2.12关于回溯的问题集32

第3章 链表35

3.1什么是链表35

3.2链表的抽象数据类型35

3.3为什么需要链表35

3.4数组回顾35

3.5链表与数组、动态数组的比较37

3.6单链表37

3.7双链表43

3.8循环链表48

3.9一种存储高效的双链表54

3.10松散链表55

3.11跳表61

3.12关于链表的问题集64

第4章栈87

4.1什么是栈87

4.2如何使用栈87

4.3栈的抽象数据类型87

4.4栈的应用88

4.5栈的实现88

4.6栈实现的比较94

4.7关于栈的问题集94

第5章 队列114

5.1什么是队列114

5.2如何使用队列114

5.3队列的抽象数据类型114

5.4操作异常115

5.5队列的应用115

5.6队列的实现115

5.7关于队列的问题集121

第6章树127

6.1什么是树127

6.2相关术语127

6.3二叉树128

6.4 1L种特殊的二叉树128

6.5二叉树的性质129

6.6二叉树的遍历131

6.7一般的树(N叉树)153

6.8线索二叉树的遍历(与栈/队列无关的遍历)159

6.9表达树166

6.10 XOR树168

6.11二叉搜索树169

6.12平衡二叉搜索树184

6.13 AVL树184

6.14其他形式的树200

第7章 优先队列和堆204

7.1什么是优先队列204

7.2优先队列的抽象数据类型204

7.3优先队列的应用205

7.4优先队列的实现205

7.5堆和二项堆206

7.6二项堆207

7.7堆排序213

7.8关于优先队列(堆)的问题集214

第8章 不相交集226

8.1引言226

8.2等价关系和等价类226

8.3不相交集的抽象数据类型227

8.4不相交集的应用227

8.5不相交集实现的折中方案227

8.6快速查找Fast FIND的实现(Quick FIND)227

8.7快速合并Fast UNION的实现(Quick UNION)228

8.8快速合并Fast UNION的实现(Slow FIND)228

8.9快速合并Fast UNION的实现(Quick FIND)231

8.10小结234

8.11关于不相交集的问题集234

第9章 图算法235

9.1引言235

9.2相关术语235

9.3图的应用238

9.4图的表示238

9.5图的遍历242

9.6拓扑排序249

9.7最短路径算法250

9.8最小生成树256

9.9关于图算法的问题集259

第10章 排序280

10.1什么是排序280

10.2为什么需要排序280

10.3排序算法的分类280

10.4其他分类方式281

10.5冒泡排序281

10.6选择排序282

10.7插入排序283

10.8希尔排序285

10.9归并排序287

10.10堆排序289

10.11快速排序289

10.12树排序292

10.13排序算法的比较292

10.14线性排序算法292

10.15计数排序293

10.16桶排序(或箱排序)293

10.17基数排序294

10.18拓扑排序295

10.19外部排序295

10.20关于排序的问题集296

第11章 搜索306

11.1什么是搜索306

11.2为什么需要搜索306

11.3搜索的类型306

11.4无序线性搜索306

11.5排序/有序线性搜索307

11.6二分搜索307

11.7基本搜索算法的比较308

11.8符号表和散列308

11.9字符串搜索算法308

11.10关于搜索的问题集308

第12章 选择算法(中位数)333

12.1什么是选择算法333

12.2基于排序的选择333

12.3基于划分的选择算法333

12.4线性选择算法——Median of Median算法333

12.5按序寻找第k小元素333

12.6关于选择算法的问题集334

第13章 符号表343

13.1引言343

13.2什么是符号表343

13.3符号表的实现343

13.4符号表实现的比较344

第14章 散列法346

14.1什么是散列法346

14.2为什么需要散列法346

14.3散列表的抽象数据类型346

14.4理解散列法346

14.5散列法的构成要素347

14.6散列表348

14.7散列函数348

14.8装填因子348

14.9冲突349

14.10解决冲突的方法349

14.11拉链法349

14.12开放地址法349

14.13冲突解决方法的比较351

14.14如何得到复杂度为O(1)的散列法352

14.15散列技术352

14.16不合适构造散列表的问题352

14.17 Bloom过滤器353

14.18关于散列法的问题集355

第15章 字符串算法366

15.1引言366

15.2字符串匹配算法366

15.3蛮力法366

15.4 Robin-Karp字符串匹配算法367

15.5基于有限自动机的字符串匹配368

15.6 KMP算法370

15.7 Boyce-Moore算法373

15.8字符串的存储结构373

15.9字符串的散列表374

15.10字符串的二叉搜索树374

15.11字典树374

15.12三叉搜索树377

15.13二叉搜索树、字典树和三叉搜索树的比较380

15.14后缀树380

15.15关于字符串的问题集384

第16章 算法设计技巧393

16.1引言393

16.2算法的分类393

16.3基于实现方法的算法分类393

16.4基于设计方法的算法分类394

16.5其他方式的算法分类395

第17章 贪婪算法396

17.1引言396

17.2贪婪策略396

17.3贪婪算法的要素396

17.4贪婪技术总是奏效吗396

17.5贪婪方法的优缺点396

17.6贪婪技术的应用397

17.7理解贪婪技术397

17.8关于贪婪算法的问题集400

第18章 分治算法407

18.1引言407

18.2什么是分治策略407

18.3分治法总是奏效吗407

18.4分治法原理的图形化演示407

18.5理解分治法408

18.6分治法的优点408

18.7分治法的缺点409

18.8主定理409

18.9分治法的应用409

18.10关于分治法的问题集409

第19章 动态规划422

19.1引言422

19.2什么是动态规划策略422

19.3动态规划策略的性质422

19.4动态规划可以求解所有的问题吗422

19.5动态规划方法422

19.6动态规划算法举例423

19.7理解动态规划423

19.8最长公共子序列426

19.9关于动态规划的问题集429

第20章 复杂性类461

20.1引言461

20.2多项式/指数时间461

20.3什么是判定性问题461

20.4判定性过程462

20.5什么是复杂性类462

20.6复杂性类的类型462

20.7归约464

20.8关于复杂性类的问题集466

第21章 其他主题469

21.1引言469

21.2位编程的技巧469

21.3其他编程问题474

参考文献481

热门推荐