图书目录

目录

源码下载

第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常用的循环

参考文献