图书介绍

算法基础PDF|Epub|txt|kindle电子书版本网盘下载

算法基础
  • (美)罗德·斯蒂芬斯(Rod Stephens)著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111560920
  • 出版时间:2017
  • 标注页数:402页
  • 文件大小:59MB
  • 文件页数:418页
  • 主题词:电子计算机-算法理论

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.2算法和数据结构2

1.3伪代码2

1.4算法的特点4

1.4.1大O符号5

1.4.2常见的运行时间函数7

1.4.3可视化函数12

1.5实际因素12

1.6总结13

练习13

第2章 数值算法16

2.1随机化数据16

2.1.1随机数生成16

2.1.2随机化数组20

2.1.3生成不均匀分布21

2.2寻找最大公约数21

2.3求幂运算23

2.4有关素数的运算24

2.4.1寻找素数因子24

2.4.2寻找素数26

2.4.3素性测试27

2.5进行数值积分28

2.5.1矩形规则28

2.5.2梯形规则29

2.5.3自适应求积30

2.5.4蒙特卡罗积分32

2.6查找零32

2.7总结34

练习34

第3章 链表36

3.1基本概念36

3.2单链表37

3.2.1遍历链表37

3.2.2查找单元格37

3.2.3使用哨兵38

3.2.4在开头添加单元格39

3.2.5在结尾添加单元格40

3.2.6在某个单元格后插入单元格40

3.2.7删除单元格41

3.3双向链表42

3.4有序链表43

3.5链表算法44

3.5.1复制链表44

3.5.2链表的插入排序45

3.6链表的选择排序46

3.7多线程链表47

3.8循环链表48

3.8.1标记单元格49

3.8.2使用散列表50

3.8.3链表回溯51

3.8.4反转链表51

3.8.5乌龟和兔子53

3.8.6双向链表中的循环问题55

3.9总结55

练习55

第4章 数组57

4.1基本概念57

4.2一维数组58

4.2.1查找元素58

4.2.2查找最大值、最小值、平均值59

4.2.3插入元素60

4.2.4移除元素61

4.3非零下界61

4.3.1二维数组61

4.3.2多维数组62

4.4三角形数组64

4.5稀疏数组66

4.5.1找到行或列67

4.5.2获取值68

4.5.3设置值69

4.5.4删除值71

4.6矩阵72

4.7总结74

练习74

第5章 栈和队列76

5.1栈76

5.1.1栈的链表实现76

5.1.2栈的数组实现77

5.1.3双向栈78

5.1.4栈的算法79

5.2队列84

5.2.1队列的链表实现84

5.2.2队列的数组实现85

5.2.3专用队列86

5.3总结87

练习87

第6章 排序89

6.1时间复杂度为O(N2)的算法89

6.1.1数组中的插入排序89

6.1.2数组中的选择排序90

6.1.3冒泡排序91

6.2时间复杂度为O(N logN)的算法93

6.2.1堆排序93

6.2.2快速排序98

6.2.3归并排序103

6.3时间复杂度为亚O(N logN)的算法105

6.3.1计数排序106

6.3.2桶排序107

6.4总结108

练习108

第7章 搜索110

7.1线性搜索110

7.2二分搜索111

7.3插值搜索112

7.4总结113

练习113

第8章 散列表114

8.1散列表的基础知识114

8.2链115

8.3开放寻址116

8.3.1删除记录117

8.3.2线性探测118

8.3.3二次探测119

8.3.4伪随机探测120

8.3.5双散列120

8.3.6有序散列121

8.4总结122

练习123

第9章 递归125

9.1基础算法125

9.1.1阶乘125

9.1.2斐波那契数127

9.1.3汉诺塔128

9.2图算法130

9.2.1科赫曲线130

9.2.2希尔伯特曲线131

9.2.3谢尔宾斯基曲线132

9.2.4垫片134

9.3回溯算法134

9.3.1八皇后问题136

9.3.2骑士巡游138

9.4选择与排列140

9.4.1循环选择140

9.4.2重复选择141

9.4.3不重复选择142

9.4.4元素可重复的排列143

9.4.5元素不重复的排列144

9.5消去递归145

9.5.1尾递归的消除145

9.5.2存储中间值146

9.5.3一般递归的消除148

9.6总结150

练习151

第10章树153

10.1树的术语153

10.2二叉树属性155

10.3树的表示157

10.3.1建立树的通用方法157

10.3.2构造完全树159

10.4树的遍历160

10.4.1前序遍历160

10.4.2中序遍历162

10.4.3后序遍历163

10.4.4深度优先遍历164

10.4.5遍历的运行时间164

10.5排序树165

10.5.1添加结点165

10.5.2查找结点166

10.5.3删除结点167

10.6线索树168

10.6.1建立线索树169

10.6.2使用线索树171

10.7特化树算法172

10.7.1动物游戏172

10.7.2表达式求值173

10.7.3四叉树175

10.7.4 Trie树179

10.8总结182

练习182

第11章 平衡树185

11.1 AVL树185

11.1.1添加值185

11.1.2删除值187

11.2 2-3树187

11.2.1添加值188

11.2.2删除值189

11.3 B树191

11.3.1添加值191

11.3.2删除值192

11.4平衡树变体193

11.4.1自上而下的B树193

11.4.2 B+树193

11.5总结194

练习195

第12章 决策树196

12.1游戏搜索树196

12.1.1极小化极大值算法197

12.1.2初始步骤和反应199

12.1.3启发式游戏树200

12.2搜索通用决策树201

12.2.1优化问题202

12.2.2穷举搜索202

12.2.3分支界限203

12.2.4决策树的启发式搜索205

12.2.5其他决策树问题209

12.3总结212

练习195

第13章 基本网络算法214

13.1网络术语214

13.2网络的表示方法216

13.3网络的遍历218

13.3.1深度优先遍历218

13.3.2广度优先遍历220

13.3.3连通性测试221

13.3.4生成树223

13.3.5最小生成树224

13.4寻找路径225

13.4.1寻找任一路径225

13.4.2标签设置最短路径225

13.4.3标签校正最短路径227

13.4.4任意两点间最短路径228

13.5总结232

练习232

第14章 更多的网络算法234

14.1拓扑排序234

14.2回路检测236

14.3地图着色237

14.3.1两色着色237

14.3.2三色着色238

14.3.3四色着色239

14.3.4五色着色239

14.3.5其他地图着色算法241

14.4最大流242

14.4.1工作分配243

14.4.2最小割244

14.5总结245

练习246

第15章 字符串算法247

15.1括号匹配247

15.1.1求算术表达式248

15.1.2构建解析树248

15.2模式匹配249

15.2.1DFA249

15.2.2为正则表达式建立DFA251

15.2.3 NFA252

15.3字符串搜索253

15.4计算编辑距离256

15.5总结258

练习258

第16章 密码学260

16.1术语260

16.2换位密码261

16.2.1行/列换位261

16.2.2列换位262

16.2.3路由加密算法263

16.3替换密码264

16.3.1凯撒替换264

16.3.2维吉尼亚密码265

16.3.3简单替换密码266

16.3.4一次性密码本266

16.4分组密码267

16.4.1代换-置换网络267

16.4.2 Feistel密码268

16.5公钥加密和RSA269

16.5.1欧拉函数270

16.5.2在取模运算下的乘法逆元素270

16.5.3一个RSA的例子270

16.5.4现实思考271

16.6加密技术的其他用途271

16.7总结272

练习273

第17章 复杂性理论274

17.1符号274

17.2复杂性分类275

17.3归约277

17.3.1 3SAT278

17.3.2二分图匹配278

17.4 NP难问题279

17.5检测、报告和优化问题279

17.5.1检测≤p报告279

17.5.2报告≤p优化280

17.5.3报告≤p检测280

17.5.4优化≤p报告280

17.6 NP完全问题281

17.7总结282

练习283

第18章 分布式程序设计284

18.1并行的种类284

18.1.1脉动阵列284

18.1.2分布式计算286

18.1.3多CPU的处理287

18.1.4竞争条件287

18.1.5死锁290

18.1.6量子计算291

18.2分布式算法291

18.2.1调试分布式算法292

18.2.2高度并行算法292

18.2.3归并排序293

18.2.4哲学家进餐294

18.2.5两个将军问题296

18.2.6拜占庭将军297

18.2.7一致性298

18.2.8领导人选举301

18.2.9快照301

18.2.10时钟同步302

18.3总结303

练习303

第19章 面试难题305

19.1面试难题提问306

19.2面试难题回答307

19.3总结309

练习311

附录A算法概念综述312

附录B练习解答320

索引371

热门推荐