python-data-structure-cn
python-data-structure-cn copied to clipboard
problem-solving-with-algorithms-and-data-structure-using-python 中文版
目录
-
1.介绍
- 1.1.目标
- 1.2.快速开始
- 1.3.什么是计算机科学
- 1.4.什么是编程
- 1.5.为什么要学习数据结构和抽象数据类型
- 1.6.为什么要学习算法
- 1.7.回顾Python基础
- 1.8.数据入门
- 1.9.输入和输出
- 1.10.控制结构
- 1.11.处理异常
- 1.12.定义函数
- 1.13.面向对象编程-定义类
- 1.14.总结
-
2.算法分析
- 2.1.目标
- 2.2.什么是算法分析
- 2.3.大O符号
- 2.4.一个乱序字符串检查的例子
- 2.5.Python数据结构的性能
- 2.6.列表
- 2.7.字典
- 2.8.总结
-
3.基本数据结构
- 3.1.目标
- 3.2.什么是线性数据结构
- 3.3.什么是栈
- 3.4.栈的抽象数据类型
- 3.5.Python实现栈
- 3.6.简单括号匹配
- 3.7.符号匹配
- 3.8.十进制转换成二进制
- 3.9.中缀前缀和后缀表达式
- 3.10.什么是队列
- 3.11.队列抽象数据类型
- 3.12.Python实现队列
- 3.13.模拟:烫手山芋
- 3.14.模拟:打印机
- 3.15.什么是Deque
- 3.16.Deque抽象数据类型
- 3.17.Python实现Deque
- 3.18.回文检查
- 3.19.列表
- 3.20.无序列表抽象数据类型
- 3.21.实现无序列表:链表
- 3.22.有序列表抽象数据结构
- 3.23.实现有序列表
- 3.24.总结
-
4.递归
- 4.1.目标
- 4.2.什么是递归
- 4.3.计算整数列表和
- 4.4.递归的三定律
- 4.5.整数转换为任意进制字符串
- 4.6.栈帧:实现递归
- 4.7.介绍:可视化递归
- 4.8.谢尔宾斯基三角形
- 4.10.汉诺塔游戏
- 4.11.探索迷宫
- 4.12.动态规划
- 4.13.总结
-
5.排序和搜索
- 5.1.目标
- 5.2.搜索
- 5.3.顺序查找
- 5.4.二分查找
- 5.5.Hash查找
- 5.6.排序
- 5.7.冒泡排序
- 5.8.选择排序
- 5.9.插入排序
- 5.10.希尔排序
- 5.11.归并排序
- 5.12.快速排序
- 5.13.总结
-
6.树和树的算法
- 6.1.目标
- 6.2.树的例子
- 6.3.词汇和定义
- 6.4.列表表示
- 6.5.节点表示
- 6.6.分析树
- 6.7.树的遍历
- 6.8.基于二叉堆的优先队列
- 6.9.二叉堆操作
- 6.10.二叉堆实现
- 6.11.二叉查找树
- 6.12.查找树操作
- 6.13.查找树实现
- 6.14.查找树分析
- 6.15.平衡二叉搜索树
- 6.16.AVL平衡二叉搜索树
- 6.17.AVL平衡二叉搜索树实现
- 6.18.Map抽象数据结构总结
- 6.19.总结
-
7.图和图的算法
- 7.1.目标
- 7.2.词汇和定义
- 7.3.图抽象数据类型
- 7.4.邻接矩阵
- 7.5.邻接表
- 7.6.实现
- 7.7.字梯的问题
- 7.8.构建字梯图
- 7.9.实现广度优先搜索
- 7.10.广度优先搜索分析
- 7.11.骑士之旅
- 7.12.构建骑士之旅图
- 7.13.实现骑士之旅
- 7.14.骑士之旅分析
- 7.15.通用深度优先搜索
- 7.16.深度优先搜索分析
- 7.17.拓扑排序
- 7.18.强连通分量
- 7.19.最短路径问题
- 7.20.Dijkstra算法
- 7.21.Dijkstra算法分析
- 7.22.Prim生成树算法
- 7.23.总结
其他译本: http://gis4g.pku.edu.cn/download/sessdsa-textbook/
欢迎大家关注公众号