python数据结构和算法pdf_用python解决数据结构和算法.pdf

问题求解 :算法与数据结构

(Python 版 )

目录

一. 引言 10

1.1. 目标10

1.2. 开始学习10

1.3. 计算机科学是什么 10

1.4. 什么是程序设计 11

1.5. 为何要学习数据结构和抽象数据类型 12

1.6. 为何要学习算法 13

1.7. Python 入门 13

1.7.1. 从数据开始 13

1.7.2 输入与输出 27

1.7.3 控制结构 31

1.7.4 异常处理 35

1.7.5 定义函数 37

1.7.6.Python 面向对象编程:定义类38

小结54

关键词54

问题讨论54

编程练习55

二.算法分析 56

2.2.什么是算法分析56

2.2.1. 大“O”表示法60

2.2.2 变位词检测 63

2.3 Python 数据结构的性能 69

2.3.1 列表 List69

2.3.2 字典 73

2.4 小结76

2.5 关键字76

2.6 问题讨论76

三.基本数据结构类型 78

3.1 学习目标78

3.2 什么是线性结构?78

3.3 栈78

3.3.1 什么是栈? 78

3.4 栈的抽象数据类型80

3.4 .队列80

3.4.1 .什么是队列80

3.4.2.抽象数据类型 Queue (队列)81

3.4.3.在 Python 中实现Queue 82

3.4.4. 模拟算法:热土豆 84

3.4.5. 模拟算法:打印任务 86

3.4.6. 主要模拟步骤 88

3.4.7 Python 实现88

3.4.8. 讨论 96

3.5.双端队列97

3.5.1. 什么是双端队列 97

3.5.2. 抽象数据类型 97

3.5.3 在 Python 中实现双端队列 Deque 98

3.5.4 “回文词”判定99

3.6 列表 List 101

3.6.1. 抽象数据类型无序列表 UnorderedList 101

3.6.2.采用链表实现无序列表 102

3.6.3 抽象数据类型:有序列表 111

3.6.4. 实现有序列表 112

3.6.5. 链表实现算法分析114

3.7.小结115

3.8.关键词(按:依英文原词的词典顺序排列) 115

3.9. 问题讨论116

4.递归 Recursion 119

4.1 目标119

4.2 什么是递归119

4.2.1 计算数字列表的和 119

4.2.2 递归三大定律 122

4.2.3.将整数转化成任意进制表示的字符串形式 123

4.3 栈帧:实现递归 125

4.4. 图示递归127

4.4.1. 谢尔宾斯基三角形 132

4.5.复杂递归问题135

4.5.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值