目录
源码下载
第1章数据结构概述
1.1逻辑结构
1.2物理结构
1.3算法与结构
1.4Python版本
习题1
第2章算法复杂度
2.1算法
2.2算法的复杂度
2.3常见的复杂度
习题2
第3章递归算法
3.1递归算法简介
3.2线性与非线性递归
3.2.1线性递归
3.2.2非线性递归
3.3问题与子问题
3.4递归与迭代
3.5多重递归
3.6经典递归
3.6.1杨辉三角形
3.6.2老鼠走迷宫
3.6.3汉诺塔
3.7优化递归
习题3
第4章数组
4.1顺序表的特点
4.2array类
4.3数组与围圈留一问题
4.4数组与参数存值
4.5数组与稳定排序
4.6二分法与数组
4.7数组的相等
4.8数组与洗牌
习题4
第5章列表
5.1Python中的列表
5.2列表与排序
5.3列表与随机布雷
5.4列表与随机数
5.5列表与筛选法
5.6列表与全排列
5.7列表与组合
5.8列表与生命游戏
5.9列表的公共子列表
5.10列表与堆
习题5
第6章栈
6.1栈的特点
6.2列表担当栈角色
6.3栈与递归
6.4栈与括号匹配
6.5栈与深度优先搜索
6.6栈与后缀表达式
6.7栈与undo操作
习题6
第7章队列
7.1队列的特点
7.2队列的创建与独特方法
7.3队列与回文串
7.4队列与加密解密
7.5队列与约瑟夫问题
7.6队列与广度优先搜索
7.7优先队列
7.8队列与排队
7.9队列与筛选法
习题7
第8章二叉树
8.1二叉树的基本概念
8.2遍历二叉树
8.3二叉树的存储
8.4平衡二叉树
8.5二叉查询树和平衡二叉查询树
8.6SortedSet有序集
8.7有序集的基本操作
8.8有序集与数据统计
习题8
第9章散列结构
9.1散列结构的特点
9.2简单的散列函数
9.3创建字典
9.4字典与字符、单词频率
9.5字典与数据缓存
9.6OrderedDict类
9.7对象作为关键字
习题9
第10章集合
10.1集合的特点
10.2set类
10.3集合的基本操作
10.4集合与数据过滤
10.5集合与获得随机数
10.6集合与对象
习题10
第11章链表
11.1链表的特点
11.2单链表
11.3双链表
11.4链式栈
习题11
第12章Python的实用算法
12.1Lambda表达式
12.2动态遍历
12.3计算代数和与平均值
12.4统计次数与计算最大、最小值
12.5反转
12.6累积计算
12.7装饰函数
12.8函数缓存
12.9偏函数
12.10过滤数据
12.11映射数据
12.12缝合数据
12.13快速选择函数
12.14索引排序函数
12.15依次排序函数
12.16NumPy实用函数集锦
习题12
第13章图论
13.1无向图
13.2有向图
13.3网络
13.4图的存储
13.5图的遍历
13.6测试连通图
13.7最短路径
13.8最小生成树
习题13
第14章经典算法思想
14.1贪心算法
14.2动态规划
14.3回溯算法
习题14
附录A重载关系方法和字符串
A.1重载关系方法
A.2字符串
A.3常用的循环
参考文献