
《算法之道》勘误
- 大小:1.1 MB
- 类型:算法
- 格式:PDF
- 出版:机械工业出版社
- 作者:邹恒明
- 更新:2022-09-06 09:33:35

给大家整理一篇算法类书籍配套资源,介绍了关于算法、勘误、算法方面的内容,本书是由机械工业出版社出版,已被851人关注,由乜清悦测试纠错,目前本书在算法类综合评分为:7.4分。
算法资源推荐
- VB常用算法大全 / 4.87MB / admin 推荐度:
- 大数据时代的算法:机器学习、人工智能及其典型实例 PDF 电子书 / 34.1 MB / 刘凡平 推荐度:
- 离散数学及算法 课后答案 / 8.18 MB / 曹晓东 原旭 推荐度:
资源介绍
本书甄选了那些最能够展现算法思想、战略和精华,并能够有效训练算法思维的内容。本书将算法的讨论分为五大部分:算法基本战略、算法设计战略、算法分析战略、经典算法讨论、难解与无解问题。每一个部分分别讨论算法的一大方面:基础、设计、分析、经典和难解问题。本书既可以作为大学本科或研究生的算法教材或参考书,也可以作为对算法有兴趣的读者提升认知深度的读物。
封面图
目录
- 前言
- 第一篇算法基础篇
- 第1章从无有到无穷2
- 1.1意念与现实3
- 1.2什么是算法4
- 1.3算法的表示6
- 1.4算法之魂7
- 1.5如何比较速度8
- 1.6算法与计算机的关系9
- 1.7算法的范畴10
- 1.8为什么学习算法10
- 思考题11
- 第2章计数与渐近12
- 2.1算法的分析12
- 2.1.1正确性分析13
- 2.1.2时空效率分析14
- 2.1.3时空特性分析14
- 2.2计数:算法分析的核心14
- 2.3算法设计15
- 2.4算法效率表示16
- 2.5渐近分析17
- 2.6O、(、(表示18
- 2.7最好、最坏、平均19
- 2.8O、(、(的另一类定义21
- 2.9O、(、(的性质22
- 2.10要更快的计算机还是要更快的算法22
- 思考题23
- 第3章分治与递归25
- 3.1分而治之为上策26
- 3.2分治策略28
- 3.3递归表达式求解29
- 3.3.1递归树法29
- 3.3.2替换解法30
- 3.3.3大师解法32
- 3.4分治策略举例1:乘方运算35
- 3.5生命不能承受之重:矩阵乘法36
- 3.6魔鬼序列:斐波那契序列38
- 3.7VLSI 布线41
- 3.8多项式乘法43
- 3.9分治就在潜意识深处43
- 思考题43
- 第二篇算法设计篇
- 第4章动态规划思想46
- 4.1什么是动态规划47
- 4.2流水装配线问题48
- 4.3最长公共子序列52
- 4.3.1第一种解法:蛮力策略52
- 4.3.2第二种解法:动态规划53
- 4.4最长公共子序列变种55
- 4.5记忆递归法55
- 4.6空间效率改善56
- 4.7最优二叉搜索树56
- 4.7.1递归解法59
- 4.7.2计算最优答案59
- 4.8最优子结构与重叠子问题62
- 4.8.1最优子结构62
- 4.8.2重叠子问题63
- 4.9动态规划与静态规划的关系63
- 4.10动态规划与静态规划的相互转换64
- 思考题65
- 第5章贪婪选择思想67
- 5.1仅有动态规划是不够的67
- 5.2什么是贪婪68
- 5.3背包问题68
- 5.4贪婪选择属性71
- 5.5教室规划问题72
- 5.6最小生成树76
- 5.6.1Kruskal算法的正确性79
- 5.6.2Kruskal算法的时间分析80
- 5.7Prim算法80
- 5.8霍夫曼树和霍夫曼编码83
- 5.8.1霍夫曼树85
- 5.8.2霍夫曼编码86
- 5.8.3霍夫曼编码的无前缀编码
- 性质87
- 5.9贪婪选择属性88
- 5.10标准分治、动态规划和贪婪选择的比较89
- 思考题90
- 第6章随机化思想92
- 6.1为什么要随机化93
- 6.2随机的平方94
- 6.3什么是随机化算法95
- 6.4拉斯维加斯算法96
- 6.5蒙特卡罗算法97
- 6.6素性测试97
- 6.7矩阵乘积验证器100
- 6.8随机化最小生成树算法102
- 6.8.1Karger-Klein-Tarjan算法103
- 6.8.2节点降低算法103
- 6.8.3线性时间最小生成树算法104
- 6.8.4线性时间最小生成树算法的时间成本分析104
- 6.9随机数的生成105
- 6.10随机化算法的应用105
- 思考题106
- 第三篇算法分析篇
- 第7章概率分析108
- 7.1一切都在概率中109
- 7.2什么是概率分析109
- 7.3梦幻情人的代价110
- 7.3.1直接分析112
- 7.3.2最坏情况分析113
- 7.3.3最好情况分析113
- 7.3.4平均情况分析113
- 7.3.5平均情况下成本的概率分析113
- 7.4概率分析结果的有效性114
- 7.5正确概率分析的保障115
- 7.6梦幻情人的概率115
- 7.7随机排列问题117
- 7.8南柯一梦:从无穷到无有119
- 7.9概率分析的其他应用120
- 思考题121
- 第8章摊销分析122
- 8.1什么是摊销分析123
- 8.2摊销分析与数据结构124
- 8.3摊销分析的几种方法124
- 8.4聚类分析125
- 8.4.1栈操作的聚类分析125
- 8.4.2二进制计数器的聚类分析126
- 8.5会计分析128
- 8.6势能分析130
- 8.6.1栈操作的势能分析130
- 8.6.2二进制计数器的势能分析131
- 8.7摊销分析应用:表格扩展的代价131
- 8.7.1动态表插入操作的聚类分析134
- 8.7.2动态表插入操作的会计分析134
- 8.7.3动态表插入操作的势能分析136
- 8.8运气不好就摊销137
- 思考题138
- 第9章竞争分析139
- 9.1什么是竞争分析139
- 9.2在线算法和离线算法141
- 9.3竞争力142
- 9.4健忘对手和优良对手142
- 9.5线性表更新问题143
- 9.6前置移动算法的竞争分析145
- 9.7聚类问题147
- 9.7.1聚类问题的次优解算法148
- 9.7.2CLUSTERING-ALGORITHM算法的竞争分析148
- 9.8竞争分析与普通算法分析149
- 思考题149
- 第四篇经典算法篇
- 第10章排序和次序152
- 10.1排序无处不在152
- 10.2插入排序153
- 10.2.1插入排序的效率分析154
- 10.2.2折半插入排序155
- 10.3归并排序156
- 10.4快速排序158
- 10.4.1快速排序的过程158
- 10.4.2快速排序的时间复杂性分析159
- 10.4.3最坏情况分析160
- 10.4.4最好情况分析160
- 10.4.5平均情况分析161
- 10.5随机化快速排序162
- 10.6排序的下限164
- 10.7线性排序165
- 10.8计数排序166
- 10.9基数排序168
- 10.9.1基数排序的正确性169
- 10.9.2基数排序的时间效率分析170
- 10.10桶排序171
- 10.10.1桶排序的定义172
- 10.10.2桶排序的正确性173
- 10.10.3桶排序的时间复杂性分析173
- 10.11次序选择175
- 10.12快速次序选择算法176
- 10.13随机快速次序选择算法178
- 10.14最坏情况下的线性选择算法179
- 10.14.1杠杆点好坏分析180
- 10.14.2算法的时间复杂性分析181
- 思考题181
- 第11章搜索与哈希183
- 11.1搜索问题184
- 11.2顺序搜索184
- 11.3折半搜索185
- 11.4常数搜索186
- 11.5哈希搜索187
- 11.6哈希函数选择189
- 11.6.1直接哈希189
- 11.6.2除法(模除法)哈希190
- 11.6.3乘法哈希191
- 11.6.4乘法哈希的赌徒原理192
- 11.6.5乘方取中法193
- 11.7哈希算法的碰撞问题193
- 11.7.1开放寻址哈希193
- 11.7.2开放寻址哈希的时间成本194
- 11.7.3开放寻址下成功搜索的时间成本195
- 11.7.4封闭寻址哈希196
- 11.7.5探寻序列的设计197
- 11.7.6封闭寻址哈希的效率分析199
- 11.7.7搜索不成功的时间成本199
- 11.7.8成功搜索的效率分析201
- 11.8哈希表元素删除201
- 11.9随机化哈希202
- 11.10全域哈希203
- 11.11全域哈希构造204
- 11.12完美哈希206
- 思考题208
- 第12章最短路径211
- 12.1剑指罗马211
- 12.2最短路径问题213
- 12.3单源单点最短路径问题215
- 12.3.1深度优先搜索与广度优先搜索215
- 12.3.2深度优先解法217
- 12.4单源多点最短路径问题218
- 12.4.1最短路径的性质219
- 12.4.2Dijkstra最短路径算法220
- 12.4.3Dijkstra算法举例221
- 12.4.4Dijkstra算法与洪水泛滥222
- 12.4.5Dijkstra算法的正确性223
- 12.4.6Dijkstra算法的时间复杂性224
- 12.5Bellman-Ford算法226
- 12.5.1负权重的应对方式227
- 12.5.2Bellman-Ford算法的正确性230
- 12.5.3负循环检查问题231
- 12.5.4Bellman-Ford算法的时间复杂性231
- 12.6多源多点最短路径问题232
- 12.6.1多源多点最短路径问题解决思路232
- 12.6.2直接动态规划解法233
- 12.6.3矩阵乘法解法234
- 12.6.4Floyd-Warshall 算法235
- 12.6.5Johnson 算法236
- 12.6.6Johnson等效变换237
- 12.6.7差限问题解决238
- 12.7天意难违240
- 思考题240
- 第五篇难解与无解篇
- 第13章可解与不可解244
- 13.1我们战无不胜吗245
- 13.2易解与难解245
- 13.3决策问题和优化问题246
- 13.4决策问题247
- 13.5P类问题247
- 13.6NP类问题248
- 13.7 (确定性)图灵机249
- 13.8非确定性图灵机249
- 13.9非确定性算法250
- 13.10回到NP类问题251
- 13.11P和NP252
- 13.12搜索问题、决策问题和优化问题253
- 13.13有没有解和是否可决定253
- 思考题254
- 第14章NP完全问题256
- 14.1玉龙雪山下的审判256
- 14.2NP完全问题的定义257
- 14.3NP完全的重要性258
- 14.4多项式时间规约259
- 14.5如何证明一个问题S是NP完全259
- 14.6第1个NP完全问题的证明260
- 14.7库克定理260
- 14.83-SAT问题263
- 14.9证明NP难的技巧264
- 14.10整数规划265
- 14.11独立集问题266
- 14.12汉密尔顿回路问题268
- 14.13讨论:弱NP完全、强NP完全和中NP完全271
- 思考题272
- 第15章无解与近似273
- 15.1难解问题274
- 15.2不可决定问题274
- 15.3程序终结的判断275
- 15.4难解之题的求解276
- 15.5智能穷举、近似算法和本地搜索277
- 15.6智能穷举之回溯策略279
- 15.7智能穷举之分支限界280
- 15.8贪婪近似策略280
- 15.9启发式搜索策略281
- 15.10模拟淬火算法282
- 15.10.1模拟淬火算法的思想284
- 15.10.2模拟淬火算法的基本循环284
- 15.10.3淬火算法描述284
- 思考题286
- 结语算法之道288
- 附录算法随想290
- 参考文献293
以上就是本次关于配套资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。
算法相关资源
-
算法与数据结构:C语言版(第2版) 课后答案
《高等院校计算机教材系列:算法与数据结构C语言版(第2版)》以较通俗的语言,按照由易到难的原则,详细介绍了各种数据结构的基本概念、逻辑特性和物理特性,对各种结构定义了相应的抽象数据类型(ADT)以及相关的操作和算法。本书采用类C语言描述算法,并给出了各种算法的效率分析,以及这些结构在计算机科学及其他领域的应用。在各章末尾,还给出了几个算法设计举例和习题。 本书可作为高等院校计算机专业的教材,同时也可供计算机工
大小:718 KB算法课后答案
-
算法导论(中英文第二版) 课后答案
这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算
大小:1.23 MB算法课后答案
-
零基础学算法
零基础学算法(第3版) 分为上、下两篇,共10章。上篇用5章的篇幅介绍了算法和数据结构的基础知识,包括基础算法思想、简单数据结构、复杂数据结构、排序和查找算法等内容;下篇用5章的篇
大小:12.6 MB算法电子书
-
算法入门之西游漫记:Python语言版
这是本父母写给孩子的编程书,从孩子视角,以西游记为主线,徐徐展开程序和算法;也是本家长写给家长的编程书,以情景化教学模式,探索式教学手段帮助家长带孩子学编程。浙江大学博导、中文慕课人翁恺推荐 编辑推荐 这本书使用Python但不局限于Python,全书尽可能规避了Python语言的特殊语法和工具包,即使是学习其他语言的读者也能轻松理解其中的算法原理。 内容简介 本书将编程算法原理与西游故事情节完美融合,用幽默风趣的文字,深入浅出
大小:98.9 MB算法入门
-
深度学习算法教程(Deeplearning Algorithms Tutorial)
深度学习是机器学习的一个新领域,它的出现使机器学习朝着它的原始目标mdash;mdash;人工智能,更近了一步。深度学习会学习关于文本、图像、声音等数据的多层表示和抽象,这些表示和抽象能够帮助我们更好的理解数据。 最近以来一直在学习机器学习和算法,然后自己就在不断总结和写笔记,记录下自己的学习AI与算法历程。 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、 凸分析、算法复杂度理论等多门学科。专门
大小:8.72 MB深度学习
-
《Java遗传算法编程》配套资源
编辑推荐 遗传算法常常用于解决非常复杂的真实世界问题。 本书是学习如何利用遗传算法来解决问题的入门指南,书中包含了Java语言编写的、能运行的项目和解决方案。本书引导读者一步一步地实现各种遗传算法及一些常见应用场景,帮助读者在实践中加深理解,从而能够解决自己独特的问题。本书首先介绍了基本概念,并在随后的章节中添加了机器人控制、旅行商问题等例子,展示了实现遗传算法的更多知识技能。 通过阅读本书,你将熟悉遗传算法
大小:96.79 KBJava配套资源
-
算法技术手册
本书使用实际代码而非伪代码来描述算法,并以经验主导支撑数学分析,侧重于应用且规范严谨。本书提供了用多种程序设计语言实现的文档化的实际代码解决方案,还介绍了近40种核心算法,
大小:60.4 MB算法电子书
-
C++数据结构与算法(第4版)
这本《C++数据结构与算法(第4版)》全面系统地介绍了数据结构,并以C++语言实现相关的算法。 主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复
大小:192.9 MBc++电子书
-
《编程的乐趣:用Python解算法谜题》配套源码
非常少有入门程序编写的人想要以便程序编写而程序编写,这书自主创新地根据求出趣味的迷题来专家教授用户程序编写,为枯燥乏味的编程学习全过程引入了较强的挑战性,迷题是来源于真
大小:67 KBPython算法配套资源