Python数据结构与算法分析第2版

Python数据结构与算法分析第2版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , , , , , ,
2019-09
版次: 1
ISBN: 9787115517210
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 296页
373人买过
  • 了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。本书是用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验,向读者透彻讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法。通过本书,读者将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。 【作者介绍】

    布拉德利·米勒(Bradley N. Miller)

    美国路德学院计算机科学名誉教授,曾获美国计算机协会软件系统奖,对Python课程开发有深入研究,由他创立的互动式教科书平台Runestone Interactive与全球600多家教育机构有合作。

    戴维·拉努姆(David L. Ranum)

    IBM Watson认知软件工程师,医学信息学博士,致力于利用自然语言处理等人工智能技术解决医疗问题,曾在美国路德学院讲授计算机科学课程近三十载。

    【译者介绍】

    吕能

    Twitter软件工程师,开源项目Apache Heron的核心贡献者。先后在浙江大学和美国加州大学洛杉矶分校取得计算机科学学士学位和硕士学位,关注分布式实时数据引擎系统的研发,热衷于普及计算机技术知识。

    刁寿钧

    腾讯优图实验室后台开发工程师,毕业于复旦大学。先后从事过广告业务与智慧零售、智慧社区业务的开发工作。热爱算法与数据库技术,曾协助组织IMG社区的技术沙龙活动。另译有《数据分析实战》。 第 1章 导论 1

    1.1 本章目标 1

    1.2 入门 1

    1.3 何谓计算机科学 1

    1.3.1 何谓编程 3

    1.3.2 为何学习数据结构及抽象数据类型 4

    1.3.3 为何学习算法 4

    1.4 Python基础 5

    1.4.1 数据 5

    1.4.2 输入与输出 16

    1.4.3 控制结构 18

    1.4.4 异常处理 21

    1.4.5 定义函数 23

    1.4.6 Python面向对象编程:定义类 24

    1.5 小结 37

    1.6 关键术语 38

    1.7 讨论题 38

    1.8 编程练习 38

    第 2章 算法分析 40

    2.1 本章目标 0

    2.2 何谓算法分析 40

    2.2.1 大O记法 43

    2.2.2 异序词检测示例 46

    2.3 Python数据结构的性能 49

    2.3.1 列表 49

    2.3.2 字典 53

    2.4 小结 55

    2.5 关键术语 55

    2.6 讨论题 56

    2.7 编程练习 56

    第3章 基本数据结构 57

    3.1 本章目标 57

    3.2 何谓线性数据结构 57

    3.3 栈 58

    3.3.1 何谓栈 58

    3.3.2 栈抽象数据类型 59

    3.3.3 用Python实现栈 60

    3.3.4 匹配括号 62

    3.3.5 普通情况:匹配符号 64

    3.3.6 将十进制数转换成二进制数 65

    3.3.7 前序、中序和后序表达式 67

    3.4 队列 75

    3.4.1 何谓队列 75

    3.4.2 队列抽象数据类型 75

    3.4.3 用Python实现队列 76

    3.4.4 模拟:传土豆 77

    3.4.5 模拟:打印任务 79

    3.5 双端队列 84

    3.5.1 何谓双端队列 84

    3.5.2 双端队列抽象数据类型 84

    3.5.3 用Python实现双端队列 85

    3.5.4 回文检测器 86

    3.6 列表 88

    3.6.1 无序列表抽象数据类型 88

    3.6.2 实现无序列表:链表 89

    3.6.3 有序列表抽象数据类型 97

    3.6.4 实现有序列表 97

    3.7 小结 100

    3.8 关键术语 101

    3.9 讨论题 101

    3.10 编程练习 102

    第4章 递归 105

    4.1 本章目标 105

    4.2 何谓递归 105

    4.2.1 计算一列数之和 105

    4.2.2 递归三原则 107

    4.2.3 将整数转换成任意进制的字符串 108

    4.3 栈帧:实现递归 110

    4.4 递归可视化 111

    4.5 复杂的递归问题 116

    4.6 探索迷宫 118

    4.7 动态规划 123

    4.8 小结 128

    4.9 关键术语 129

    4.10 讨论题 129

    4.11 编程练习 129

    第5章 搜索和排序 131

    5.1 本章目标 131

    5.2 搜索 131

    5.2.1 顺序搜索 131

    5.2.2 二分搜索 134

    5.2.3 散列 136

    5.3 排序 145

    5.3.1 冒泡排序 145

    5.3.2 选择排序 147

    5.3.3 插入排序 149

    5.3.4 希尔排序 151

    5.3.5 归并排序 153

    5.3.6 快速排序 156

    5.4 小结 159

    5.5 关键术语 160

    5.6 讨论题 160

    5.7 编程练习 161

    第6章 树 163

    6.1 本章目标 163

    6.2 示例 163

    6.3 术语及定义 166

    6.4 实现 168

    6.4.1 列表之列表 168

    6.4.2 节点与引用 171

    6.5 二叉树的应用 173

    6.5.1 解析树 173

    6.5.2 树的遍历 179

    6.6 利用二叉堆实现优先级队列 182

    6.6.1 二叉堆的操作 182

    6.6.2 二叉堆的实现 183

    6.7 二叉搜索树 189

    6.7.1 搜索树的操作 190

    6.7.2 搜索树的实现 190

    6.7.3 搜索树的分析 201

    6.8 平衡二叉搜索树 202

    6.8.1 AVL树的性能 203

    6.8.2 AVL树的实现 204

    6.8.3 映射实现总结 210

    6.9 小结 211

    6.10 关键术语 211

    6.11 讨论题 211

    6.12 编程练习 213

    第7章 图及其算法 214

    7.1 本章目标 214

    7.2 术语及定义 215

    7.3 图的抽象数据类型 216

    7.3.1 邻接矩阵 216

    7.3.2 邻接表 217

    7.3.3 实现 218

    7.4 宽度优先搜索 220

    7.4.1 词梯问题 220

    7.4.2 构建词梯图 221

    7.4.3 实现宽度优先搜索 223

    7.4.4 分析宽度优先搜索 226

    7.5 深度优先搜索 226

    7.5.1 骑士周游问题 226

    7.5.2 构建骑士周游图 227

    7.5.3 实现骑士周游 229

    7.5.4 分析骑士周游 231

    7.5.5 通用深度优先搜索 233

    7.5.6 分析深度优先搜索 236

    7.6 拓扑排序 236

    7.7 强连通单元 238

    7.8 最短路径问题 241

    7.8.1 Dijkstra算法 243

    7.8.2 分析Dijkstra算法 245

    7.8.3 Prim算法 245

    7.9 小结 248

    7.10 关键术语 249

    7.11 讨论题 249

    7.12 编程练习 250

    第8章 附加内容 251

    8.1 本章目标 251

    8.2 复习Python列表 251

    8.3 复习递归 256

    8.3.1 同余定理 257

    8.3.2 幂剩余 257

    8.3.3 最大公因数与逆元 258

    8.3.4 RSA算法 261

    8.4 复习字典:跳表 264

    8.4.1 映射抽象数据类型 265

    8.4.2 用Python实现字典 265

    8.5 复习树:量化图片 274

    8.5.1 数字图像概述 274

    8.5.2 量化图片 275

    8.5.3 使用八叉树改进量化算法 277

    8.6 复习图:模式匹配 284

    8.6.1 生物学字符串 285

    8.6.2 简单比较 285

    8.6.3 使用图:DFA 287

    8.6.4 使用图:KMP 288

    8.7 小结 291

    8.8 关键术语 291

    8.9 讨论题 291

    8.10 编程练习 292

    附录A Python图形包 293

    附录B Python资源 294

    参考资料295
  • 内容简介:
    了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。本书是用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验,向读者透彻讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法。通过本书,读者将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。
  • 作者简介:
    【作者介绍】

    布拉德利·米勒(Bradley N. Miller)

    美国路德学院计算机科学名誉教授,曾获美国计算机协会软件系统奖,对Python课程开发有深入研究,由他创立的互动式教科书平台Runestone Interactive与全球600多家教育机构有合作。

    戴维·拉努姆(David L. Ranum)

    IBM Watson认知软件工程师,医学信息学博士,致力于利用自然语言处理等人工智能技术解决医疗问题,曾在美国路德学院讲授计算机科学课程近三十载。

    【译者介绍】

    吕能

    Twitter软件工程师,开源项目Apache Heron的核心贡献者。先后在浙江大学和美国加州大学洛杉矶分校取得计算机科学学士学位和硕士学位,关注分布式实时数据引擎系统的研发,热衷于普及计算机技术知识。

    刁寿钧

    腾讯优图实验室后台开发工程师,毕业于复旦大学。先后从事过广告业务与智慧零售、智慧社区业务的开发工作。热爱算法与数据库技术,曾协助组织IMG社区的技术沙龙活动。另译有《数据分析实战》。
  • 目录:
    第 1章 导论 1

    1.1 本章目标 1

    1.2 入门 1

    1.3 何谓计算机科学 1

    1.3.1 何谓编程 3

    1.3.2 为何学习数据结构及抽象数据类型 4

    1.3.3 为何学习算法 4

    1.4 Python基础 5

    1.4.1 数据 5

    1.4.2 输入与输出 16

    1.4.3 控制结构 18

    1.4.4 异常处理 21

    1.4.5 定义函数 23

    1.4.6 Python面向对象编程:定义类 24

    1.5 小结 37

    1.6 关键术语 38

    1.7 讨论题 38

    1.8 编程练习 38

    第 2章 算法分析 40

    2.1 本章目标 0

    2.2 何谓算法分析 40

    2.2.1 大O记法 43

    2.2.2 异序词检测示例 46

    2.3 Python数据结构的性能 49

    2.3.1 列表 49

    2.3.2 字典 53

    2.4 小结 55

    2.5 关键术语 55

    2.6 讨论题 56

    2.7 编程练习 56

    第3章 基本数据结构 57

    3.1 本章目标 57

    3.2 何谓线性数据结构 57

    3.3 栈 58

    3.3.1 何谓栈 58

    3.3.2 栈抽象数据类型 59

    3.3.3 用Python实现栈 60

    3.3.4 匹配括号 62

    3.3.5 普通情况:匹配符号 64

    3.3.6 将十进制数转换成二进制数 65

    3.3.7 前序、中序和后序表达式 67

    3.4 队列 75

    3.4.1 何谓队列 75

    3.4.2 队列抽象数据类型 75

    3.4.3 用Python实现队列 76

    3.4.4 模拟:传土豆 77

    3.4.5 模拟:打印任务 79

    3.5 双端队列 84

    3.5.1 何谓双端队列 84

    3.5.2 双端队列抽象数据类型 84

    3.5.3 用Python实现双端队列 85

    3.5.4 回文检测器 86

    3.6 列表 88

    3.6.1 无序列表抽象数据类型 88

    3.6.2 实现无序列表:链表 89

    3.6.3 有序列表抽象数据类型 97

    3.6.4 实现有序列表 97

    3.7 小结 100

    3.8 关键术语 101

    3.9 讨论题 101

    3.10 编程练习 102

    第4章 递归 105

    4.1 本章目标 105

    4.2 何谓递归 105

    4.2.1 计算一列数之和 105

    4.2.2 递归三原则 107

    4.2.3 将整数转换成任意进制的字符串 108

    4.3 栈帧:实现递归 110

    4.4 递归可视化 111

    4.5 复杂的递归问题 116

    4.6 探索迷宫 118

    4.7 动态规划 123

    4.8 小结 128

    4.9 关键术语 129

    4.10 讨论题 129

    4.11 编程练习 129

    第5章 搜索和排序 131

    5.1 本章目标 131

    5.2 搜索 131

    5.2.1 顺序搜索 131

    5.2.2 二分搜索 134

    5.2.3 散列 136

    5.3 排序 145

    5.3.1 冒泡排序 145

    5.3.2 选择排序 147

    5.3.3 插入排序 149

    5.3.4 希尔排序 151

    5.3.5 归并排序 153

    5.3.6 快速排序 156

    5.4 小结 159

    5.5 关键术语 160

    5.6 讨论题 160

    5.7 编程练习 161

    第6章 树 163

    6.1 本章目标 163

    6.2 示例 163

    6.3 术语及定义 166

    6.4 实现 168

    6.4.1 列表之列表 168

    6.4.2 节点与引用 171

    6.5 二叉树的应用 173

    6.5.1 解析树 173

    6.5.2 树的遍历 179

    6.6 利用二叉堆实现优先级队列 182

    6.6.1 二叉堆的操作 182

    6.6.2 二叉堆的实现 183

    6.7 二叉搜索树 189

    6.7.1 搜索树的操作 190

    6.7.2 搜索树的实现 190

    6.7.3 搜索树的分析 201

    6.8 平衡二叉搜索树 202

    6.8.1 AVL树的性能 203

    6.8.2 AVL树的实现 204

    6.8.3 映射实现总结 210

    6.9 小结 211

    6.10 关键术语 211

    6.11 讨论题 211

    6.12 编程练习 213

    第7章 图及其算法 214

    7.1 本章目标 214

    7.2 术语及定义 215

    7.3 图的抽象数据类型 216

    7.3.1 邻接矩阵 216

    7.3.2 邻接表 217

    7.3.3 实现 218

    7.4 宽度优先搜索 220

    7.4.1 词梯问题 220

    7.4.2 构建词梯图 221

    7.4.3 实现宽度优先搜索 223

    7.4.4 分析宽度优先搜索 226

    7.5 深度优先搜索 226

    7.5.1 骑士周游问题 226

    7.5.2 构建骑士周游图 227

    7.5.3 实现骑士周游 229

    7.5.4 分析骑士周游 231

    7.5.5 通用深度优先搜索 233

    7.5.6 分析深度优先搜索 236

    7.6 拓扑排序 236

    7.7 强连通单元 238

    7.8 最短路径问题 241

    7.8.1 Dijkstra算法 243

    7.8.2 分析Dijkstra算法 245

    7.8.3 Prim算法 245

    7.9 小结 248

    7.10 关键术语 249

    7.11 讨论题 249

    7.12 编程练习 250

    第8章 附加内容 251

    8.1 本章目标 251

    8.2 复习Python列表 251

    8.3 复习递归 256

    8.3.1 同余定理 257

    8.3.2 幂剩余 257

    8.3.3 最大公因数与逆元 258

    8.3.4 RSA算法 261

    8.4 复习字典:跳表 264

    8.4.1 映射抽象数据类型 265

    8.4.2 用Python实现字典 265

    8.5 复习树:量化图片 274

    8.5.1 数字图像概述 274

    8.5.2 量化图片 275

    8.5.3 使用八叉树改进量化算法 277

    8.6 复习图:模式匹配 284

    8.6.1 生物学字符串 285

    8.6.2 简单比较 285

    8.6.3 使用图:DFA 287

    8.6.4 使用图:KMP 288

    8.7 小结 291

    8.8 关键术语 291

    8.9 讨论题 291

    8.10 编程练习 292

    附录A Python图形包 293

    附录B Python资源 294

    参考资料295
查看详情
12
相关图书 / 更多
Python数据结构与算法分析第2版
Python和PySpark数据分析
(加)乔纳森·里乌
Python数据结构与算法分析第2版
Python机器学习入门与实践 从深度学习到生成对抗网络GAN 深入浅出GAN生成对抗网络 实战gan TensorFlow与Keras 人工智能技术书籍
(日)大关真之
Python数据结构与算法分析第2版
Python语言程序设计
王刚
Python数据结构与算法分析第2版
Python代码编程 学科项目式编程(六年级)
冯建刚
Python数据结构与算法分析第2版
Python机器学习 : 核心技术与开发实战 周志华西瓜书机器学习实战伴侣书
[美]普拉提克·乔希 著;李现伟 译者;颉腾文化 出品;阿尔伯托·阿尔塔桑切斯(美);曾小健
Python数据结构与算法分析第2版
Python语言程序设计(微课版)
宁爱军 何志永
Python数据结构与算法分析第2版
Python数据分析从入门到精通(第2版)
明日科技
Python数据结构与算法分析第2版
Python数据分析与挖掘
齐福利
Python数据结构与算法分析第2版
Python基础与应用(互联网+教育新形态一体化系列教材)
李喆时、谢家立、赵丽 编
Python数据结构与算法分析第2版
Python数据分析与可视化项目实战
王振丽
Python数据结构与算法分析第2版
Python爬虫从菜鸟到高手
李宁
Python数据结构与算法分析第2版
Python程序设计基础教程
\"孙海龙 王济军\
您可能感兴趣 / 更多
Python数据结构与算法分析第2版
语言论(当代国外语言学与应用语言学文库)(升级版)
L. Bloomfield
Python数据结构与算法分析第2版
如何与高冲突人格者友好相处
L. Georgi DiStefano(乔琪·迪斯特凡诺 著;[美]Bill Eddy(比尔·埃迪)
Python数据结构与算法分析第2版
万千心理·游戏治疗-理论与实践的综合指南
L. 著;[美]戴维·A.克伦肖(David、A.、Crenshaw、安妮·L.斯图尔特(Anne、王晓波 译
Python数据结构与算法分析第2版
朗文.外研社新概念英语(新版)2外研社点读书
L. G. Alexander;何其莘
Python数据结构与算法分析第2版
TheWizardofOz
L. Frank Baum 著;Charles Santore 绘
Python数据结构与算法分析第2版
The Life and Adventures of Santa Claus (Signet Classics)
L. Frank Baum(莱曼·弗兰克·鲍姆) 著
Python数据结构与算法分析第2版
Imager'sChallenge
L. E. Modesitt 著
Python数据结构与算法分析第2版
HerbariumHandbook3rdEdition
L. Forman 编
Python数据结构与算法分析第2版
Rapture of the Deep
L. A. Meyer 著
Python数据结构与算法分析第2版
TheAwakening
L. J. Smith 著
Python数据结构与算法分析第2版
HowtoWriteBooksThatSell
L. Perry Wilbur、Jon Samsel 著
Python数据结构与算法分析第2版
VintageChildren’sClassics:TheWizardofOz
L. Frank Baum 著