图书介绍

算法设计与应用【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

算法设计与应用
  • (美)迈克尔·T.古德里奇,罗伯托·塔马西亚著;乔海燕,李悫炜,王烁程译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111582779
  • 出版时间:2018
  • 标注页数:510页
  • 文件大小:67MB
  • 文件页数:526页
  • 主题词:算法设计

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分析算法2

1.1.1伪代码2

1.1.2随机存取机模型4

1.1.3基本操作数目的计算4

1.1.4递归算法的分析6

1.1.5渐近表示法6

1.1.6渐近表示法的重要性10

1.2相关数学知识复习11

1.2.1求和11

1.2.2对数和幂12

1.2.3简单的证明技术13

1.2.4概率基础16

1.3算法分析案例18

1.3.1最大子数组问题的第一个解18

1.3.2一种改进的求最大子数组算法19

1.3.3线性时间的最大子数组算法20

1.4平摊分析21

1.4.1平摊技术22

1.4.2对一个可扩展数组实现的分析24

1.5练习26

本章注记31

第一部分 数据结构34

第2章 基本数据结构34

2.1栈和队列35

2.1.1栈35

2.1.2队列37

2.2列表38

2.2.1基于索引的列表39

2.2.2链表40

2.3树44

2.3.1树的定义45

2.3.2树的遍历46

2.3.3二叉树49

2.3.4表示树的数据结构53

2.4练习55

本章注记58

第3章 二叉搜索树59

3.1搜索和更新60

3.1.1二叉搜索树的定义62

3.1.2二叉搜索树中的搜索62

3.1.3二叉搜索树中的插入64

3.1.4二叉搜索树中的删除64

3.1.5二叉搜索树的性能65

3.2范围查询66

3.3基于索引的搜索68

3.4随机构造二叉搜索树70

3.5练习72

本章注记75

第4章 平衡二叉搜索树76

4.1秩和旋转77

4.2 AVL树79

4.3红黑树82

4.4弱AVL树85

4.5伸展树91

4.6练习97

本章注记101

第5章 优先队列和堆102

5.1优先队列103

5.2 PQ排序、选择排序和插入排序103

5.2.1选择排序104

5.2.2插入排序106

5.3堆107

5.3.1基于数组结构的二叉树109

5.3.2堆中的插入110

5.3.3堆中的删除112

5.4堆排序114

5.5扩展优先队列118

5.6练习119

本章注记122

第6章 散列表123

6.1映射124

6.1.1映射的定义124

6.1.2查找表125

6.2散列函数126

6.2.1分量求和127

6.2.2多项式求值函数127

6.2.3基于表格的散列128

6.2.4取模128

6.2.5随机线性和多项式函数129

6.3碰撞处理与再散列129

6.3.1拉链法129

6.3.2开放寻址法130

6.3.3线性探测131

6.3.4平方探测133

6.3.5双重散列133

6.3.6再散列134

6.4布谷鸟散列134

6.5通用散列138

6.6练习140

本章注记142

第7章 并查集结构143

7.1并查集及其应用144

7.1.1连通分支144

7.1.2迷宫建筑和渗透理论145

7.2基于列表的实现146

7.3基于树的实现148

7.4练习153

本章注记155

第二部分 排序和选择158

第8章 归并排序和快速排序158

8.1归并排序159

8.1.1分而治之159

8.1.2归并排序和递推方程162

8.2快速排序163

8.2.1随机快速排序165

8.2.2原地快速排序166

8.3基于比较的排序的下界168

8.4练习169

本章注记172

第9章 快速排序和选择173

9.1桶排序和基数排序174

9.1.1桶排序174

9.1.2基数排序175

9.2选择176

9.2.1随机快速选择176

9.2.2确定性选择178

9.3加权中位数179

9.4练习181

本章注记183

第三部分 基本技术186

第10章 贪心法186

10.1分份背包问题187

10.2任务调度189

10.3文本压缩和哈夫曼编码191

10.4练习195

本章注记197

第11章 分治法198

11.1递推与主定理199

11.2整数乘法203

11.3矩阵乘法204

11.4极大点集问题205

11.5练习206

本章注记209

第12章 动态规划210

12.1矩阵连乘211

12.2通用技术213

12.3望远镜调度213

12.4博弈策略216

12.4.1硬币行216

12.4.2概率博弈策略与逆向归纳法217

12.5最长公共子序列问题219

12.5.1问题定义219

12.5.2应用动态规划解LCS问题219

12.6 0-1背包问题221

12.7练习223

本章注记227

第13章 图及遍历228

13.1图的术语和表示方法228

13.1.1图的一些术语229

13.1.2图的操作231

13.1.3表示图的数据结构232

13.2深度优先搜索235

13.3广度优先搜索237

13.4有向图239

13.4.1遍历有向图240

13.4.2传递闭包242

13.4.3有向DFS和垃圾回收244

13.4.4有向无环图246

13.5双连通分量249

13.6练习252

本章注记255

第四部分 图算法258

第14章 最短路径258

14.1单源最短路径258

14.2 Dijkstra算法259

14.3 Bellman-Ford算法264

14.4有向无环图中的最短路径266

14.5所有顶点对之间的最短路径268

14.5.1动态规划最短路径算法268

14.5.2通过矩阵乘法计算最短路径269

14.6练习272

本章注记275

第15章 最小生成树276

15.1最小生成树的性质276

15.2 Kruskal算法279

15.3 Prim-Jarnik算法282

15.4 Baruvka算法285

15.5练习286

本章注记288

第16章 网络流和匹配290

16.1流与割290

16.1.1割292

16.1.2剩余容量和增流路径293

16.2最大流算法295

16.2.1 Ford-Fulkerson算法295

16.2.2 Edmonds-Karp算法297

16.3最大二分图匹配300

16.4棒球赛的淘汰301

16.5最低成本流302

16.6练习307

本章注记309

第五部分 计算困难问题312

第17章 NP完全性312

17.1 P和NP313

17.1.1定义复杂类P和NP314

17.1.2一些有趣的NP问题316

17.2 NP完全性318

17.2.1多项式时间归约和NP难度318

17.2.2 Cook-Levin定理318

17.2.3如何证明一个问题是NP完全问题319

17.3合取范式可满足问题和3可满足问题321

17.4顶点覆盖、团和集合覆盖324

17.5子集和与背包问题326

17.6哈密顿回路和TSP328

17.7练习330

本章注记333

第18章 近似算法334

18.1几何旅行商问题336

18.1.1 Metric-TSP的一个2近似算法336

18.1.2 Christofides近似算法337

18.2覆盖问题的近似338

18.2.1顶点覆盖的2近似算法338

18.2.2集合覆盖的对数近似339

18.3多项式时间近似方法340

18.4回溯和分支定界342

18.4.1回溯法342

19.4.2分支定界法344

18.5练习344

本章注记346

第六部分 高级主题350

第19章 随机算法350

19.1随机排列的生成351

19.2稳定婚姻和优惠券收集352

19.2.1优惠券收集问题分析353

19.2.2稳定婚姻问题354

19.3最小割356

19.3.1收缩边357

19.3.2计算最小割357

19.3.3更快的算法359

19.4寻找素数360

19.5切尔诺夫界364

19.5.1马尔可夫不等式364

19.5.2示性随机变量之和364

19.5.3几何型随机变量之和366

19.6跳跃表367

19.6.1搜索368

19.6.2更新操作368

19.6.3跳跃表的概率分析370

19.7练习371

本章注记374

第20章 B树和外部存储器376

20.1外部存储器377

20.2 (2,4)树和B树379

20.2.1多叉搜索树379

20.2.2(2,4)树381

20.2.3 (a,b)树和B树386

20.3外部存储器排序389

20.4在线缓存算法391

20.5练习396

本章注记398

第21章 多维搜索399

21.1范围树400

21.2优先搜索树403

21.2.1构造优先搜索树403

21.2.2在优先搜索树中搜索404

21.2.3优先范围树405

21.3四叉树和k-d树406

21.3.1四叉树406

21.3.2 k-d树407

21.4练习409

本章注记411

第22章 计算几何412

22.1几何对象上的操作413

22.2凸壳416

22.2.1礼品包装算法417

22.2.2 Graham扫描算法419

22.3线段相交421

22.4求最近点对423

22.5练习425

本章注记428

第23章 字符串算法429

23.1字符串操作430

23.2 Boyer-Moore算法431

23.3 Knuth-Morris-Pratt算法435

23.4基于散列的词典匹配437

23.5字典树441

23.5.1标准字典树441

23.5.2压缩字典树443

23.5.3后缀字典树445

23.5.4搜索引擎447

23.6练习448

本章注记450

第24章 密码学451

24.1最大公约数452

24.1.1一些初等数论知识452

24.1.2欧几里得GCD算法453

24.2模运算454

24.2.1模幂运算456

24.2.2模乘法逆458

24.3加密操作459

24.4 RSA密码系统461

24.5 El Gamal密码系统463

24.6练习464

本章注记465

第25章 快速傅里叶变换466

25.1卷积467

25.2原始单位根468

25.3离散傅里叶变换469

25.4快速傅里叶变换算法471

25.5练习475

本章注记478

第26章 线性规划479

26.1定义问题480

26.2单纯形法483

26.2.1松弛型484

26.2.2扩展的例子485

26.2.3单纯形算法487

26.3对偶488

26.4线性规划的应用491

26.5练习492

本章注记497

附录A一些有用的数学知识498

参考文献501

热门推荐