新书推荐 │ 数据结构与算法(Python语言版)
创始人
2025-07-16 13:32:46
0

目录

第1章绪论/1

1-1算法/1

1.1.1算法的基本概念/1

1.1.2算法的表示/2

1.1.3算法的设计/4

1-2算法的分析评价/6

1.2.1时间复杂度分析/6

1.2.2时间复杂度分析举例/8

1.2.3空间复杂度分析/10

1-3数据结构/11

1.3.1数据与数据结构定义/11

1.3.2数据类型与数据抽象/15

1.3.3抽象数据类型/16

1.3.4数据结构和算法的关系/17

小结/18

习题/19

第2章Python编程基础/20

2-1Python数据类型/20

2.1.1常用数据类型/20

2.1.2变量、运算符和表达式/21

2.1.3内置数据类型的常见运算和操作/23

2-2Python控制结构/27

2.2.1顺序结构/27

2.2.2选择结构/28

2.2.3循环结构/30

2-3Python函数/34

2.3.1函数概述/34

2.3.2函数的声明和调用/34

2.3.3参数传递/36

2.3.4函数的返回值/38

2.3.5变量的作用域/38

2.3.6函数式编程/40

2-4Python面向对象编程/42

2.4.1面向对象程序设计/42

2.4.2类的定义和实例化/43

2.4.3属性/45

2.4.4方法/47

2.4.5类的继承/48

2.4.6类的特殊方法/50

2.4.7对象的引用、浅拷贝和深拷贝/54

2-5抽象数据类型面向对象实现/55

2.5.1抽象数据类型和面向对象方法/55

2.5.2有理数的抽象数据类型表示/55

2.5.3有理数抽象数据类型的Python语言实现/56

小结/58

习题/58

第3章线性表/63

3-1线性表的概念/63

3.1.1基本术语和概念/63

3.1.2线性表的操作/64

3.1.3线性表的实现基础/65

3-2顺序表/65

3.2.1顺序表的定义/65

3.2.2顺序表的基本实现/66

3.2.3顺序表例题/68

3-3单链表/69

3.3.1单链表的定义/69

3.3.2单链表的基本实现/70

3.3.3单链表基本操作的实现/72

3.3.4单链表例题/76

3-4链表的变形与操作/80

3.4.1带尾结点引用的单链表/80

3.4.2循环单链表/82

3.4.3双向链表/86

3.4.4不同结构链表总结/89

3-5有序表及其应用/90

3.5.1有序表的定义/90

3.5.2有序表例题/90

小结/92

习题/93

第4章字符串/98

4-1字符串的概念/98

4.1.1基本术语和概念/98

4.1.2串的基本操作/99

4.1.3Python中的字符串/100

4.1.4基本串操作例题/100

4-2字符串匹配算法/103

4.2.1字符串匹配/103

4.2.2朴素的串匹配算法/103

4.2.3无回溯串匹配算法(KMP算法)/105

4.2.4串模式匹配例题/110

小结/114

习题/114

第5章栈和队列/116

5-1栈的概念与实现/116

5.1.1栈的结构和操作特点/116

5.1.2栈的表示和实现/117

5-2栈的应用举例/121

5.2.1括号匹配问题/122

5.2.2后缀表达式求值/124

5.2.3从中缀表达式到后缀表达式的转换/126

5-3队列的概念与实现/129

5.3.1队列的结构特点与操作/129

5.3.2队列的表示和实现/130

5-4双端队列/134

小结/136

习题/137

第6章递归/142

6-1递归的定义/142

6.1.1基本概念/142

6.1.2简单递归操作例题/143

6.1.3汉诺塔问题/146

6-2递归的可视化/147

6.2.1递归执行过程/147

6.2.2递归过程可视化/147

6.2.3递归图形化展示/149

6-3回溯法/150

6.3.1回溯的概念/150

6.3.2组合问题/151

6.3.3回溯法例题/153

6-4动态规划初步/157

6.4.1动态规划的概念/157

6.4.2动态规划的应用/158

6.4.3动态规划例题/161

小结/162

习题/162

第7章二叉树和树/166

7-1树状结构基本概念/166

7.1.1树的定义和基本术语/166

7.1.2树状结构的描述/167

7.1.3二叉树的概念/168

7.1.4二叉树的性质/169

7-2二叉树的存储/171

7.2.1二叉树的顺序存储/171

7.2.2二叉树的链式存储/171

7-3二叉树的遍历及其实现/172

7.3.1二叉树按层次遍历的实现/173

7.3.2二叉树深度优先遍历的递归实现/175

7.3.3二叉树深度优先遍历的非递归实现/179

7-4二叉树遍历算法的应用/180

7-5优先队列与堆/188

7.5.1优先队列的概念及应用/188

7.5.2堆的概念及实现/190

7-6哈夫曼树/195

7.6.1基本概念/195

7.6.2Huffman树的构造/196

7.6.3最优前缀编码/198

7-7树和森林的存储和遍历 /199

7.7.1树和森林的遍历/199

7.7.2树的存储表示/200

7.7.3树的遍历算法实现/204

小结/207

习题/208

第8章图及其算法/213

8-1图的概念/213

8.1.1基本术语和概念/213

8.1.2其他术语和概念/214

8-2图的表示与实现/216

8.2.1邻接矩阵/216

8.2.2邻接表/217

8.2.3图表示的Python实现/218

8-3图的遍历及其应用/223

8.3.1深度优先遍历图/223

8.3.2广度优先遍历图/225

8.3.3图遍历算法的简单应用/226

8.3.4图遍历算法的高阶应用/228

8-4拓扑排序/234

8-5并查集/236

8-6连通网的最小生成树/242

8-7最短路径问题/246

8.7.1单源最短路径的Dijkstra算法/247

8.7.2求解任意顶点间最短路径的Floyd算法/248

小结/249

习题/250

第9章排序和查找/255

9-1查找/255

9.1.1基本术语和概念/255

9.1.2顺序查找/256

9.1.3二分查找/258

9-2排序/263

9.2.1基本术语和概念/263

9.2.2选择排序/265

9.2.3冒泡排序/267

9.2.4插入排序/269

9.2.5希尔排序/273

9.2.6归并排序/275

9.2.7快速排序/278

小结/280

习题/280

附录ALeetCode网站在线编程说明/283

参考文献/285

相关教材

相关内容

热门资讯

原创 父... 我的父亲杨守沫(1917——1994),原籍云南省陆良县马街镇,1937年参加革命,1939年加入中...
原创 历... 筵摆绿柳,灵芙醉客妙机关。小酒家,胭脂唇香残,酒暖玉颊暄。抛却凡俗事,来隐桃花源。闲来画眉乐,笑嫣然...
专家研讨:纪录片《小楼春秋》建... 天津北方网讯:9月4日,由天津市委宣传部和海河传媒中心共同摄制,海河传媒中心李家森工作室承制的百集人...
原创 唐... 武则天是我国历史上唯一的一位女皇帝。在封建时期,受男尊女卑的观念影响,女性的地位十分低微。然而,武则...
河声丨铭记抗战历史 续写时代华... “昭昭前事,惕惕后人。”今年是中国人民抗日战争暨世界反法西斯战争胜利79周年。七十九载光阴荏苒,那段...
原创 操... 明代南京都察院设立操江一职,掌管上下江防事务,由南京都察院副佥都御史担任,简称为操江御史。 根据其负...
原创 天... 在今河北区民主道与民族路交口处,张廷谔旧宅和梁启超旧宅之间,有一座独栋独院的小洋楼,文物保护标识牌为...
伊朗最高领袖:以色列是一颗受美... 当地时间16日,伊朗最高领袖哈梅内伊发表讲话。他表示,伊朗不会软弱,也拥有必要的力量,无论在外交领域...
原创 客... 文|柯静 编辑|柯静 前言 欧洲地理大发现对世界的影响有多大? 历史背景 “地理大发现”这个词指的...
原创 王... 王伦:被许多人误解了的最杰出的南宋外交家 老尼克我出生那个年代,给孩子起名字更像是表忠心,男孩一般都...