算法设计与分析(Python) / 21世纪高等学校计算机专业实用规划教材
定价:¥46.00
作者: 程振波,李曲等
出版时间:2018-01
出版社:清华大学出版社
- 清华大学出版社
- 9787302477488
- 46190587-9
- 16开
- 2018-01
- 计算机
内容简介
本书介绍了算法设计与分析的基本技巧,主要包括递归、分治、动态规划、贪心和随机等算法,以及利用这些算法求解计算问题的时间复杂度分析等内容。通过诸多有趣的实例,向读者介绍了算法设计的思想,以便读者能形成算法思维的固定模式去解决问题。在介绍每一类算法范式以及分析算法复杂度时,都力求建立直观的思维过程,而摒弃过深的数学证明。书中所有算法均采用 Python语言描述,读者能从中学习到许多算法实现的技巧,从而提高编写程序的能力。本书可作为高等学校计算机专业大一、大二或者学习过程序设计的非计算机专业学生的算法设计与分析教材。
目录
目录
第 1章引言 1
1 1算法的定义 1
1 1 1算法的属性 2
1 1 2效率的定义 3
1 2算法设计与分析举例 5
1 2 1寻找局部高点 -1D 5
1 2 2图书管理 8
1 3小结 10
课后习题 11
第 2章渐进分析与 Python计算模型 13
2 1引言 13
2 2计算模型 13
2 3算法的渐进分析 14
2 4 Python计算模型 17
2 4 1控制流语句 17
2 4 2数据结构 19
2 5算法分析实例 21
2 5 1求最大值 22
2 5 2二分搜索 22
2 5 3子集和问题 23
2 6小结 24
课后习题 25
第 3章问题求解与代码优化 27
3 1引言 27
3 2文档比较 27
3 2 1问题提出 27
3 2 2算法设计 28
3 2 3算法优化 31
3 3拼写矫正 33
3 3 1问题提出 33
3 3 2算法设计 33
3 4稳定匹配问题 36
3 4 1问题提出 36
3 4 2算法设计 38
3 5小结 40
课后习题 41
第 4章递归算法与递归函数 42
4 1引言 42
4 2递归的组成结构 42
4 2 1如何筹集巨款 42
4 2 2上线与下线 44
4 3递归算法的执行 45
4 3 1跟踪函数的执行 47
4 4利用递归算法求解问题 51
4 4 1回文判断 51
4 4 2全排列 53
4 4 3汉诺塔问题 54
4 4 4雪花曲线 57
4 5递归函数的求解 58
4 5 1替换法 59
4 5 2主分析法 60
4 6小结 62
课后习题 63
第 5章排序与树结构 64
5 1引言 64
5 2递归与排序 65
5 2 1选择排序 65
5 2 2插入排序 67
5 2 3合并排序 69
5 3二叉搜索树 72
5 3 1 BST的实现 74
5 3 2插入新结点 75
5 3 3 BST上查找 77
5 3 4二叉树修剪 78
目录 IX
5 4堆 81
5 4 1堆化操作 81
5 4 2构造堆 83
5 4 3堆排序 85
5 4 4合并 k个有序序列 86
5 5小结 87
课后习题 88
第 1章引言 1
1 1算法的定义 1
1 1 1算法的属性 2
1 1 2效率的定义 3
1 2算法设计与分析举例 5
1 2 1寻找局部高点 -1D 5
1 2 2图书管理 8
1 3小结 10
课后习题 11
第 2章渐进分析与 Python计算模型 13
2 1引言 13
2 2计算模型 13
2 3算法的渐进分析 14
2 4 Python计算模型 17
2 4 1控制流语句 17
2 4 2数据结构 19
2 5算法分析实例 21
2 5 1求最大值 22
2 5 2二分搜索 22
2 5 3子集和问题 23
2 6小结 24
课后习题 25
第 3章问题求解与代码优化 27
3 1引言 27
3 2文档比较 27
3 2 1问题提出 27
3 2 2算法设计 28
3 2 3算法优化 31
3 3拼写矫正 33
3 3 1问题提出 33
3 3 2算法设计 33
3 4稳定匹配问题 36
3 4 1问题提出 36
3 4 2算法设计 38
3 5小结 40
课后习题 41
第 4章递归算法与递归函数 42
4 1引言 42
4 2递归的组成结构 42
4 2 1如何筹集巨款 42
4 2 2上线与下线 44
4 3递归算法的执行 45
4 3 1跟踪函数的执行 47
4 4利用递归算法求解问题 51
4 4 1回文判断 51
4 4 2全排列 53
4 4 3汉诺塔问题 54
4 4 4雪花曲线 57
4 5递归函数的求解 58
4 5 1替换法 59
4 5 2主分析法 60
4 6小结 62
课后习题 63
第 5章排序与树结构 64
5 1引言 64
5 2递归与排序 65
5 2 1选择排序 65
5 2 2插入排序 67
5 2 3合并排序 69
5 3二叉搜索树 72
5 3 1 BST的实现 74
5 3 2插入新结点 75
5 3 3 BST上查找 77
5 3 4二叉树修剪 78
目录 IX
5 4堆 81
5 4 1堆化操作 81
5 4 2构造堆 83
5 4 3堆排序 85
5 4 4合并 k个有序序列 86
5 5小结 87
课后习题 88















