Python算法教程

Python算法教程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [挪威] (Magnus Lie Hetland) , , ,
2016-01
版次: 1
ISBN: 9787115404831
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 318页
正文语种: 简体中文
原版书名: Python Algorithms: Mastering Basic Algorithms in the Python Language
315人买过
  • Python是一种面向对象、解释型计算机程序设计语言,其应用领域非常广泛,包括数据分析、自然语言处理、机器学习、科学计算以及推荐系统构建等。
    本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的结尾,给出了练习题的提示,方便读者进行查漏补缺。
    本书概念和知识点讲解清晰,语言简洁。本书适合对Python算法感兴趣的初中级用户阅读和自学,也适合高等院校的计算机系学生作为参考教材来阅读。 Magnus Lie Hetland是一位经验丰富的Python程序员,他自上世纪90年代以来就一直在使用该语言。同时,他还是挪威科技大学的副教授,有着数十年的算法教学经验,是《Beginning Python》 一书作者。 第1章 引言 1
    1.1 这是一本怎么样的书 2
    1.1.1 本书将主要涉及以下内容 3
    1.1.2 本书还将简单或部分涉及
    以下内容 3
    1.1.3 本书不会涉足以下领域 3
    1.2 为什么要读这本书 3
    1.3 一些准备工作 5
    1.4 本书主要内容 5
    1.5 本章小结 7
    1.6 如果您感兴趣 7
    1.7 练习题 7
    1.8 参考资料 8
    第2章 基础知识 9
    2.1 计算领域中一些核心理念 9
    2.2 渐近记法 11
    2.2.1 我看不懂这些希腊文 12
    2.2.2 交通规则 14
    2.2.3 让我们拿渐近性问题
    练练吧 16
    2.2.4 三种重要情况 19
    2.2.5 实证式算法评估 20
    2.3 图与树的实现 24
    2.3.1 邻接列表及其类似结构 26
    2.3.2 邻接矩阵 29
    2.3.3 树的实现 32
    2.3.4 多种表示法 35
    2.4 请提防黑盒子 36
    2.4.1 隐性平方级操作 37
    2.4.2 浮点运算的麻烦 38
    2.5 本章小结 41
    2.6 如果您感兴趣 42
    2.7 练习题 42
    2.8 参考资料 43
    第3章 计数初步 46
    3.1 求和式的含义 46
    3.1.1 更多希腊字母 47
    3.1.2 求和式的运用 47
    3.2 两种赛制的故事 48
    3.2.1 握手问题 48
    3.2.2 龟兔赛跑 50
    3.3 子集与排列组合 54
    3.4 递归与递归式 56
    3.4.1 手动推导 57
    3.4.2 几个重要例子 59
    3.4.3 猜测与检验 62
    3.4.4 主定理:一刀切式的
    解决方案 65
    3.5 这一切究竟是什么呢 67
    3.6 本章小结 69
    3.7 如果您感兴趣 69
    3.8 练习题 70
    3.9 参考资料 71
    第4章 归纳、递归及归简 72
    4.1 哦,这其实很简单 73
    4.2 一而再,再而三 74
    4.3 魔镜,魔镜 77
    4.4 基于归纳法(与递归法)的设计 82
    4.4.1 寻找最大排列 82
    4.4.2 明星问题 86
    4.4.3 拓扑排序问题 88
    4.5 更强的假设条件 92
    4.6 不变式与正确性 94
    4.7 松弛法与逐步完善 94
    4.8 归简法+换位法=困难度证明 95
    4.9 一些解决问题的建议 97
    4.10 本章小结 98
    4.11 如果您感兴趣 98
    4.12 练习题 99
    4.13 参考资料 101
    第5章 遍历:算法学中的万能钥匙 102
    5.1 公园漫步 109
    5.1.1 不允许出现环路 109
    5.1.2 停止循环遍历的方式 110
    5.2 继续深入 111
    5.3 无限迷宫与最短(不加权)
    路径问题 115
    5.4 强连通分量 120
    5.5 本章小结 123
    5.6 如果您感兴趣 123
    5.7 练习题 124
    5.8 参考资料 125
    第6章 分解、合并、解决 126
    6.1 树状问题,即平衡问题 126
    6.2 经典分治算法 129
    6.3 折半搜索 129
    6.3.1 搜索树的遍历及其剪枝 132
    6.3.2 选取算法 135
    6.4 折半排序 137
    排序操作究竟可以有多快 140
    6.5 三个额外实例 140
    6.5.1 最近点对问题 141
    6.5.2 凸包问题 142
    6.5.3 最大切片问题 144
    6.6 树的平衡与再平衡 145
    6.7 本章小结 151
    6.8 如果您感兴趣 152
    6.9 练习题 152
    6.10 参考资料 153
    第7章 贪心有理吗?请证明 154
    7.1 步步为营,万无一失 154
    7.2 背包问题 158
    7.2.1 分数背包问题 158
    7.2.2 整数背包问题 159
    7.3 哈夫曼算法 159
    7.3.1 具体算法 160
    7.3.2 首次贪心选择 162
    7.3.3 走完剩余部分 163
    7.3.4 最优化归并 164
    7.4 最小生成树问题 165
    7.4.1 最短边问题 166
    7.4.2 其余部分的相关情况 167
    7.4.3 Kruskal算法 168
    7.4.4 Prim算法 170
    7.5 贪心不是问题,问题是
    何时贪心 173
    7.5.1 坚持做到最好 173
    7.5.2 尽量做到完美 174
    7.5.3 做好安全措施 175
    7.6 本章小结 177
    7.7 如果您感兴趣 178
    7.8 练习题 178
    7.9 参考资料 179
    第8章 复杂依赖及其记忆体化 180
    8.1 不要重复自己 181
    8.2 有向无环图中的最短路径问题 187
    8.3 最长递增子序列问题 190
    8.4 序列比对问题 193
    8.5 背包问题的反击 196
    8.6 序列的二元分割 199
    8.7 本章小结 202
    8.8 如果您感兴趣 203
    8.9 练习题 203
    8.10 参考资料 204
    第9章 Dijkstra及其朋友们
    从A到B的旅程 206
    9.1 扩展知识 207
    9.2 松弛可“疯狂” 208
    9.3 找到隐藏的DAG图 213
    9.4 多对多问题 216
    9.5 “牵强”的子问题 218
    9.6 中途相遇 220
    9.7 把握未来走向 223
    9.8 本章小结 226
    9.9 如果您感兴趣 227
    9.10 练习题 228
    9.11 参考资料 228
    第10章 匹配、切割及流量 229
    10.1 二分图匹配 230
    10.2 不相交的路径 233
    10.3 最大流问题 236
    10.4 最小切割集问题 240
    10.5 最小成本的流及赋值问题 241
    10.6 一些应用 243
    10.7 本章小结 247
    10.8 如果您感兴趣 247
    10.9 练习题 248
    10.10 参考资料 249
    第11章 困难问题及其(有限)稀释 250
    11.1 重提归简 251
    11.2 不待在肯萨斯州了 254
    11.3 但目前,我们还是得回
    到肯萨斯州 255
    11.4 我们应从何处开始?
    前往何处呢 259
    11.5 怪物乐园 264
    11.5.1 背包的返回 264
    11.5.2 分团与着色 266
    11.5.3 路径与环路 269
    11.6 当困难来临的时候,聪明人
    就开始犯错 272
    11.7 尽力寻找解决方案 275
    11.8 这些故事告诉我们 277
    11.9 本章小结 279
    11.10 如果您感兴趣 279
    11.11 练习题 280
    11.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
  • 内容简介:
    Python是一种面向对象、解释型计算机程序设计语言,其应用领域非常广泛,包括数据分析、自然语言处理、机器学习、科学计算以及推荐系统构建等。
    本书用Python语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共11章。分别介绍了树、图、计数问题、归纳递归、遍历、分解合并、贪心算法、复杂依赖、Dijkstra算法、匹配切割问题以及困难问题及其稀释等内容。本书在每一章结束的时候均有练习题和参考资料,这为读者的自我检查以及进一步学习提供了较多的便利。在全书的结尾,给出了练习题的提示,方便读者进行查漏补缺。
    本书概念和知识点讲解清晰,语言简洁。本书适合对Python算法感兴趣的初中级用户阅读和自学,也适合高等院校的计算机系学生作为参考教材来阅读。
  • 作者简介:
    Magnus Lie Hetland是一位经验丰富的Python程序员,他自上世纪90年代以来就一直在使用该语言。同时,他还是挪威科技大学的副教授,有着数十年的算法教学经验,是《Beginning Python》 一书作者。
  • 目录:
    第1章 引言 1
    1.1 这是一本怎么样的书 2
    1.1.1 本书将主要涉及以下内容 3
    1.1.2 本书还将简单或部分涉及
    以下内容 3
    1.1.3 本书不会涉足以下领域 3
    1.2 为什么要读这本书 3
    1.3 一些准备工作 5
    1.4 本书主要内容 5
    1.5 本章小结 7
    1.6 如果您感兴趣 7
    1.7 练习题 7
    1.8 参考资料 8
    第2章 基础知识 9
    2.1 计算领域中一些核心理念 9
    2.2 渐近记法 11
    2.2.1 我看不懂这些希腊文 12
    2.2.2 交通规则 14
    2.2.3 让我们拿渐近性问题
    练练吧 16
    2.2.4 三种重要情况 19
    2.2.5 实证式算法评估 20
    2.3 图与树的实现 24
    2.3.1 邻接列表及其类似结构 26
    2.3.2 邻接矩阵 29
    2.3.3 树的实现 32
    2.3.4 多种表示法 35
    2.4 请提防黑盒子 36
    2.4.1 隐性平方级操作 37
    2.4.2 浮点运算的麻烦 38
    2.5 本章小结 41
    2.6 如果您感兴趣 42
    2.7 练习题 42
    2.8 参考资料 43
    第3章 计数初步 46
    3.1 求和式的含义 46
    3.1.1 更多希腊字母 47
    3.1.2 求和式的运用 47
    3.2 两种赛制的故事 48
    3.2.1 握手问题 48
    3.2.2 龟兔赛跑 50
    3.3 子集与排列组合 54
    3.4 递归与递归式 56
    3.4.1 手动推导 57
    3.4.2 几个重要例子 59
    3.4.3 猜测与检验 62
    3.4.4 主定理:一刀切式的
    解决方案 65
    3.5 这一切究竟是什么呢 67
    3.6 本章小结 69
    3.7 如果您感兴趣 69
    3.8 练习题 70
    3.9 参考资料 71
    第4章 归纳、递归及归简 72
    4.1 哦,这其实很简单 73
    4.2 一而再,再而三 74
    4.3 魔镜,魔镜 77
    4.4 基于归纳法(与递归法)的设计 82
    4.4.1 寻找最大排列 82
    4.4.2 明星问题 86
    4.4.3 拓扑排序问题 88
    4.5 更强的假设条件 92
    4.6 不变式与正确性 94
    4.7 松弛法与逐步完善 94
    4.8 归简法+换位法=困难度证明 95
    4.9 一些解决问题的建议 97
    4.10 本章小结 98
    4.11 如果您感兴趣 98
    4.12 练习题 99
    4.13 参考资料 101
    第5章 遍历:算法学中的万能钥匙 102
    5.1 公园漫步 109
    5.1.1 不允许出现环路 109
    5.1.2 停止循环遍历的方式 110
    5.2 继续深入 111
    5.3 无限迷宫与最短(不加权)
    路径问题 115
    5.4 强连通分量 120
    5.5 本章小结 123
    5.6 如果您感兴趣 123
    5.7 练习题 124
    5.8 参考资料 125
    第6章 分解、合并、解决 126
    6.1 树状问题,即平衡问题 126
    6.2 经典分治算法 129
    6.3 折半搜索 129
    6.3.1 搜索树的遍历及其剪枝 132
    6.3.2 选取算法 135
    6.4 折半排序 137
    排序操作究竟可以有多快 140
    6.5 三个额外实例 140
    6.5.1 最近点对问题 141
    6.5.2 凸包问题 142
    6.5.3 最大切片问题 144
    6.6 树的平衡与再平衡 145
    6.7 本章小结 151
    6.8 如果您感兴趣 152
    6.9 练习题 152
    6.10 参考资料 153
    第7章 贪心有理吗?请证明 154
    7.1 步步为营,万无一失 154
    7.2 背包问题 158
    7.2.1 分数背包问题 158
    7.2.2 整数背包问题 159
    7.3 哈夫曼算法 159
    7.3.1 具体算法 160
    7.3.2 首次贪心选择 162
    7.3.3 走完剩余部分 163
    7.3.4 最优化归并 164
    7.4 最小生成树问题 165
    7.4.1 最短边问题 166
    7.4.2 其余部分的相关情况 167
    7.4.3 Kruskal算法 168
    7.4.4 Prim算法 170
    7.5 贪心不是问题,问题是
    何时贪心 173
    7.5.1 坚持做到最好 173
    7.5.2 尽量做到完美 174
    7.5.3 做好安全措施 175
    7.6 本章小结 177
    7.7 如果您感兴趣 178
    7.8 练习题 178
    7.9 参考资料 179
    第8章 复杂依赖及其记忆体化 180
    8.1 不要重复自己 181
    8.2 有向无环图中的最短路径问题 187
    8.3 最长递增子序列问题 190
    8.4 序列比对问题 193
    8.5 背包问题的反击 196
    8.6 序列的二元分割 199
    8.7 本章小结 202
    8.8 如果您感兴趣 203
    8.9 练习题 203
    8.10 参考资料 204
    第9章 Dijkstra及其朋友们
    从A到B的旅程 206
    9.1 扩展知识 207
    9.2 松弛可“疯狂” 208
    9.3 找到隐藏的DAG图 213
    9.4 多对多问题 216
    9.5 “牵强”的子问题 218
    9.6 中途相遇 220
    9.7 把握未来走向 223
    9.8 本章小结 226
    9.9 如果您感兴趣 227
    9.10 练习题 228
    9.11 参考资料 228
    第10章 匹配、切割及流量 229
    10.1 二分图匹配 230
    10.2 不相交的路径 233
    10.3 最大流问题 236
    10.4 最小切割集问题 240
    10.5 最小成本的流及赋值问题 241
    10.6 一些应用 243
    10.7 本章小结 247
    10.8 如果您感兴趣 247
    10.9 练习题 248
    10.10 参考资料 249
    第11章 困难问题及其(有限)稀释 250
    11.1 重提归简 251
    11.2 不待在肯萨斯州了 254
    11.3 但目前,我们还是得回
    到肯萨斯州 255
    11.4 我们应从何处开始?
    前往何处呢 259
    11.5 怪物乐园 264
    11.5.1 背包的返回 264
    11.5.2 分团与着色 266
    11.5.3 路径与环路 269
    11.6 当困难来临的时候,聪明人
    就开始犯错 272
    11.7 尽力寻找解决方案 275
    11.8 这些故事告诉我们 277
    11.9 本章小结 279
    11.10 如果您感兴趣 279
    11.11 练习题 280
    11.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
查看详情
相关图书 / 更多
Python算法教程
Python和PySpark数据分析
(加)乔纳森·里乌
Python算法教程
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python算法教程
Python语言程序设计
王刚
Python算法教程
Python代码编程 学科项目式编程(六年级)
冯建刚
Python算法教程
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python算法教程
Python语言程序设计(微课版)
宁爱军 何志永
Python算法教程
Python数据分析从入门到精通(第2版)
明日科技
Python算法教程
Python数据分析与挖掘
齐福利
Python算法教程
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python算法教程
Python数据分析与可视化项目实战
王振丽
Python算法教程
Python爬虫从菜鸟到高手
李宁
Python算法教程
Python程序设计基础教程
\"孙海龙 王济军\
您可能感兴趣 / 更多
Python算法教程
在夏天
[挪威]卡尔·奥韦·克瑙斯高 著;理想国 出品
Python算法教程
在春天
[挪威]卡尔·奥韦·克瑙斯高 著;理想国 出品
Python算法教程
家庭养育七步法3:帮助孩子寻找自我
[挪威]海德维格·蒙哥马利/著 马博 译
Python算法教程
在秋天
[挪威]卡尔·奥韦·克瑙斯高 著;理想国 出品
Python算法教程
永恒与变迁:挪威建筑师镜头下的中国(1985—2019)(汉英对照版)
[挪威]哈罗德·赫耶姆
Python算法教程
海外中国戏曲研究译丛:中国的易卜生:从易卜生到易卜生主义
[挪威]伊丽莎白·艾德 著;赵冬旭 译
Python算法教程
木娃酷比的音乐会响叮当(有了自驱力,孩子就开始成长了。来自欧洲的音乐启蒙绘本,激发孩子观察生活细节,献给家长的教育启示录)
[挪威]奥思尔·康斯塔·约翰森 著绘;[瑞士]斯蒂芬·霍德尔 曲
Python算法教程
木娃酷比记手账咔嚓嚓(动起小手做手账,美好生活尽在掌握。挪威ZUI美图书奖获得者丰盈之作。)
[挪威]奥思尔·康斯塔·约翰森
Python算法教程
我已经睡着啦
[挪威]凯尔斯蒂·安妮斯塔德·斯科姆斯沃尔德 著;[挪威]玛丽·康斯塔·约翰森 绘
Python算法教程
再讲个故事嘛
[挪威]福劳德·格吕顿 著;[挪威]玛丽·康斯塔·约翰森 绘
Python算法教程
好奇怪:挪威童谣辑录
[挪威]英厄·哈格鲁普 著;[挪威]保罗·雷内·高更 绘
Python算法教程
假如动物也工作……
[挪威]哈康·里耶