互联网
类型
7.7
豆瓣评分
可以朗读
语音朗读
238千字
字数
2019-09-01
发行日期
展开全部
主编推荐语
用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验。
内容简介
了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。
本书是用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验,向读者透彻讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法。
通过本书,读者将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。
目录
- 版权信息
- 前言
- 致学生
- 致教师
- 本书结构
- 新版改进
- 致谢
- 第1章 导论
- 1.1 本章目标
- 1.2 入门
- 1.3 何谓计算机科学
- 1.3.1 何谓编程
- 1.3.2 为何学习数据结构及抽象数据类型
- 1.3.3 为何学习算法
- 1.4 Python基础
- 1.4.1 数据
- 1.4.2 输入与输出
- 1.4.3 控制结构
- 1.4.4 异常处理
- 1.4.5 定义函数
- 1.4.6 Python面向对象编程:定义类
- 1.5 小结
- 1.6 关键术语
- 1.7 讨论题
- 1.8 编程练习
- 第2章 算法分析
- 2.1 本章目标
- 2.2 何谓算法分析
- 2.2.1 大O记法
- 2.2.2 异序词检测示例
- 2.3 Python数据结构的性能
- 2.3.1 列表
- 2.3.2 字典
- 2.4 小结
- 2.5 关键术语
- 2.6 讨论题
- 2.7 编程练习
- 第3章 基本数据结构
- 3.1 本章目标
- 3.2 何谓线性数据结构
- 3.3 栈
- 3.3.1 何谓栈
- 3.3.2 栈抽象数据类型
- 3.3.3 用Python实现栈
- 3.3.4 匹配括号
- 3.3.5 普通情况:匹配符号
- 3.3.6 将十进制数转换成二进制数
- 3.3.7 前序、中序和后序表达式
- 3.4 队列
- 3.4.1 何谓队列
- 3.4.2 队列抽象数据类型
- 3.4.3 用Python实现队列
- 3.4.4 模拟:传土豆
- 3.4.5 模拟:打印任务
- 3.5 双端队列
- 3.5.1 何谓双端队列
- 3.5.2 双端队列抽象数据类型
- 3.5.3 用Python实现双端队列
- 3.5.4 回文检测器
- 3.6 列表
- 3.6.1 无序列表抽象数据类型
- 3.6.2 实现无序列表:链表
- 3.6.3 有序列表抽象数据类型
- 3.6.4 实现有序列表
- 3.7 小结
- 3.8 关键术语
- 3.9 讨论题
- 3.10 编程练习
- 第4章 递归
- 4.1 本章目标
- 4.2 何谓递归
- 4.2.1 计算一列数之和
- 4.2.2 递归三原则
- 4.2.3 将整数转换成任意进制的字符串
- 4.3 栈帧:实现递归
- 4.4 递归可视化
- 谢尔平斯基三角形
- 4.5 复杂的递归问题
- 汉诺塔
- 4.6 探索迷宫
- 4.7 动态规划
- 4.8 小结
- 4.9 关键术语
- 4.10 讨论题
- 4.11 编程练习
- 第5章 搜索和排序
- 5.1 本章目标
- 5.2 搜索
- 5.2.1 顺序搜索
- 5.2.2 二分搜索
- 5.2.3 散列
- 5.3 排序
- 5.3.1 冒泡排序
- 5.3.2 选择排序
- 5.3.3 插入排序
- 5.3.4 希尔排序
- 5.3.5 归并排序
- 5.3.6 快速排序
- 5.4 小结
- 5.5 关键术语
- 5.6 讨论题
- 5.7 编程练习
- 第6章 树
- 6.1 本章目标
- 6.2 示例
- 6.3 术语及定义
- 6.4 实现
- 6.4.1 列表之列表
- 6.4.2 节点与引用
- 6.5 二叉树的应用
- 6.5.1 解析树
- 6.5.2 树的遍历
- 6.6 利用二叉堆实现优先级队列
- 6.6.1 二叉堆的操作
- 6.6.2 二叉堆的实现
- 6.7 二叉搜索树
- 6.7.1 搜索树的操作
- 6.7.2 搜索树的实现
- 6.7.3 搜索树的分析
- 6.8 平衡二叉搜索树
- 6.8.1 AVL树的性能
- 6.8.2 AVL树的实现
- 6.8.3 映射实现总结
- 6.9 小结
- 6.10 关键术语
- 6.11 讨论题
- 6.12 编程练习
- 第7章 图及其算法
- 7.1 本章目标
- 7.2 术语及定义
- 7.3 图的抽象数据类型
- 7.3.1 邻接矩阵
- 7.3.2 邻接表
- 7.3.3 实现
- 7.4 宽度优先搜索
- 7.4.1 词梯问题
- 7.4.2 构建词梯图
- 7.4.3 实现宽度优先搜索
- 7.4.4 分析宽度优先搜索
- 7.5 深度优先搜索
- 7.5.1 骑士周游问题
- 7.5.2 构建骑士周游图
- 7.5.3 实现骑士周游
- 7.5.4 分析骑士周游
- 7.5.5 通用深度优先搜索
- 7.5.6 分析深度优先搜索
- 7.6 拓扑排序
- 7.7 强连通单元
- 7.8 最短路径问题
- 7.8.1 Dijkstra算法
- 7.8.2 分析Dijkstra算法
- 7.8.3 Prim算法
- 7.9 小结
- 7.10 关键术语
- 7.11 讨论题
- 7.12 编程练习
- 第8章 附加内容
- 8.1 本章目标
- 8.2 复习Python列表
- 8.3 复习递归
- 8.3.1 同余定理
- 8.3.2 幂剩余
- 8.3.3 最大公因数与逆元
- 8.3.4 RSA算法
- 8.4 复习字典:跳表
- 8.4.1 映射抽象数据类型
- 8.4.2 用Python实现字典
- 8.5 复习树:量化图片
- 8.5.1 数字图像概述
- 8.5.2 量化图片
- 8.5.3 使用八叉树改进量化算法
- 8.6 复习图:模式匹配
- 8.6.1 生物学字符串
- 8.6.2 简单比较
- 8.6.3 使用图:DFA
- 8.6.4 使用图:KMP
- 8.7 小结
- 8.8 关键术语
- 8.9 讨论题
- 8.10 编程练习
- 附录A Python图形包
- 附录B Python资源
- 参考资料
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。