-
内容大纲
了解数据结构与算法是透彻理解计算机科学的前提。随着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 练习
第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 练习
第3章 基本数据结构
3.1 本章目标
3.2 何谓线性数据结构
3.3 栈
3.3.1 栈抽象数据类型
3.3.2 用Python实现栈
3.3.3 匹配括号
3.3.4 通用问题:符号匹配
3.3.5 将十进制数转换成二进制数
3.3.6 前序、中序和后序表达式
3.4 队列
3.4.1 队列抽象数据类型
3.4.2 用Python实现队列
3.4.3 队列模拟:传土豆
3.4.4 队列模拟:打印任务
3.4.5 双端队列
3.5 双端队列抽象数据类型
3.5.1 用Python实现双端队列
3.5.2 回文检测器
3.6 列表
3.6.1 无序列表抽象数据类型
3.6.2 实现无序列表:链表
3.6.3 有序列表抽象数据类型
3.6.4 实现有序列表
3.7 小结
3.8 关键术语
3.9 练习
第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 练习
第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 练习
第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 练习
第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 练习
第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 练习
参考资料
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...