本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
畅销书Python基础教程(第2版)作者、Python领域大牛又一新力作!知识点清晰,语言简洁。
本书用Python语言来讲解算法的分析和设计,主要关注经典的算法,帮助读者理解基本算法问题和解决问题打下很好的基础。
蕴含大量课后习题和参考资料。
第1章 引言 11.1 这是一本怎么样的书 21.1.1 本书将主要涉及以下内容 31.1.2 本书还将简单或部分涉及以下内容 31.1.3 本书不会涉足以下领域 31.2 为什么要读这本书 31.3 一些准备工作 51.4 本书主要内容 51.5 本章小结 71.6 如果您感兴趣 71.7 练习题 71.8 参考资料 8第2章 基础知识 92.1 计算领域中一些核心理念 92.2 渐近记法 112.2.1 我看不懂这些希腊文 122.2.2 交通规则 142.2.3 让我们拿渐近性问题练练吧 162.2.4 三种重要情况 192.2.5 实证式算法评估 202.3 图与树的实现 242.3.1 邻接列表及其类似结构 262.3.2 邻接矩阵 292.3.3 树的实现 322.3.4 多种表示法 352.4 请提防黑盒子 362.4.1 隐性平方级操作 372.4.2 浮点运算的麻烦 382.5 本章小结 412.6 如果您感兴趣 422.7 练习题 422.8 参考资料 43第3章 计数初步 463.1 求和式的含义 463.1.1 更多希腊字母 473.1.2 求和式的运用 473.2 两种赛制的故事 483.2.1 握手问题 483.2.2 龟兔赛跑 503.3 子集与排列组合 543.4 递归与递归式 563.4.1 手动推导 573.4.2 几个重要例子 593.4.3 猜测与检验 623.4.4 主定理:一刀切式的解决方案 653.5 这一切究竟是什么呢 673.6 本章小结 693.7 如果您感兴趣 693.8 练习题 703.9 参考资料 71第4章 归纳、递归及归简 724.1 哦,这其实很简单 734.2 一而再,再而三 744.3 魔镜,魔镜 774.4 基于归纳法(与递归法)的设计 824.4.1 寻找最大排列 824.4.2 明星问题 864.4.3 拓扑排序问题 884.5 更强的假设条件 924.6 不变式与正确性 944.7 松弛法与逐步完善 944.8 归简法+换位法=困难度证明 954.9 一些解决问题的建议 974.10 本章小结 984.11 如果您感兴趣 984.12 练习题 994.13 参考资料 101第5章 遍历:算法学中的万能钥匙 1025.1 公园漫步 1095.1.1 不允许出现环路 1095.1.2 停止循环遍历的方式 1105.2 继续深入 1115.3 无限迷宫与最短(不加权)路径问题 1155.4 强连通分量 1205.5 本章小结 1235.6 如果您感兴趣 1235.7 练习题 1245.8 参考资料 125第6章 分解、合并、解决 1266.1 树状问题,即平衡问题 1266.2 经典分治算法 1296.3 折半搜索 1296.3.1 搜索树的遍历及其剪枝 1326.3.2 选取算法 1356.4 折半排序 137排序操作究竟可以有多快 1406.5 三个额外实例 1406.5.1 最近点对问题 1416.5.2 凸包问题 1426.5.3 最大切片问题 1446.6 树的平衡与再平衡 1456.7 本章小结 1516.8 如果您感兴趣 1526.9 练习题 1526.10 参考资料 153第7章 贪心有理吗?请证明 1547.1 步步为营,万无一失 1547.2 背包问题 1587.2.1 分数背包问题 1587.2.2 整数背包问题 1597.3 哈夫曼算法 1597.3.1 具体算法 1607.3.2 首次贪心选择 1627.3.3 走完剩余部分 1637.3.4 最优化归并 1647.4 最小生成树问题 1657.4.1 最短边问题 1667.4.2 其余部分的相关情况 1677.4.3 Kruskal算法 1687.4.4 Prim算法 1707.5 贪心不是问题,问题是何时贪心 1737.5.1 坚持做到最好 1737.5.2 尽量做到完美 1747.5.3 做好安全措施 1757.6 本章小结 1777.7 如果您感兴趣 1787.8 练习题 1787.9 参考资料 179第8章 复杂依赖及其记忆体化 1808.1 不要重复自己 1818.2 有向无环图中的最短路径问题 1878.3 最长递增子序列问题 1908.4 序列比对问题 1938.5 背包问题的反击 1968.6 序列的二元分割 1998.7 本章小结 2028.8 如果您感兴趣 2038.9 练习题 2038.10 参考资料 204第9章 Dijkstra及其朋友们从A到B的旅程 2069.1 扩展知识 2079.2 松弛可“疯狂” 2089.3 找到隐藏的DAG图 2139.4 多对多问题 2169.5 “牵强”的子问题 2189.6 中途相遇 2209.7 把握未来走向 2239.8 本章小结 2269.9 如果您感兴趣 2279.10 练习题 2289.11 参考资料 228第10章 匹配、切割及流量 22910.1 二分图匹配 23010.2 不相交的路径 23310.3 最大流问题 23610.4 最小切割集问题 24010.5 最小成本的流及赋值问题 24110.6 一些应用 24310.7 本章小结 24710.8 如果您感兴趣 24710.9 练习题 24810.10 参考资料 249第11章 困难问题及其(有限)稀释 25011.1 重提归简 25111.2 不待在肯萨斯州了 25411.3 但目前,我们还是得回到肯萨斯州 25511.4 我们应从何处开始?前往何处呢 25911.5 怪物乐园 26411.5.1 背包的返回 26411.5.2 分团与着色 26611.5.3 路径与环路 26911.6 当困难来临的时候,聪明人就开始犯错 27211.7 尽力寻找解决方案 27511.8 这些故事告诉我们 27711.9 本章小结 27911.10 如果您感兴趣 27911.11 练习题 28011.12 参考资料 281附录A 猛踩油门!令Python加速 282附录B 一些著名问题与算法 286问题部分 286算法与数据结构部分 289附录C 图论基础 295附录D 习题提示 301第1章 301第2章 301第3章 303第4章 304第5章 307第6章 308第7章 310第8章 312第9章 313第10章 314第11章 315