算法设计与分析(Python)

本书特色

[

本书介绍了算法设计与分析的基本技巧,主要包括递归、分治、动态规划、贪心和随机等算法,以及利用这些算法求解计算问题的时间复杂度分析等内容。通过诸多有趣的实例,向读者介绍了算法设计的思想,以便读者能形成算法思维的固定模式去解决问题。在介绍每一类算法范式以及分析算法复杂度时,都力求建立直观的思维过程,而摒弃过深的数学证明。书中所有算法均采用 Python语言描述,读者能从中学习到许多算法实现的技巧,从而提高编写程序的能力。
本书可作为高等学校计算机专业大一、大二或者学习过程序设计的非计算机专业学生的算法设计与分析教材。

]

内容简介

[

如果将要处理的数据、问题看作是食材,那么算法就是将食材“转化”成各种令人垂诞美食的过程。中国菜肴到处都是充满想象力的转化,将原本普通的食材(大豆和糯米等)转化为营养和风味都令人叹为观止的食物(豆腐、酒酿和酱料等等)。《算法设计与分析(Python)》的主线就是转化,它不仅有问题的转化,也有方法的转化。通过问题的转化将问题“化繁为简”,通过方法的转化以便融会贯通各种算法设计的技巧。 算法设计与分析是计算机专业非常重要的一门基础课程,它不仅是诸多计算机专业课程的基础,也是诸多信息科技类公司在招聘员工时,笔试与面试重点考核的内容。算法设计与分析已经有了诸多经典的著作,然而笔者在教学过程发现,已有的算法设计与分析教材往往并不适合初学算法课程的同学。主要是这些著作往往需要较多的程序设计与数据结构的背景知识。《算法设计与分析(Python)》的内容编排并未要求过多的程序设计或者数学基础,只需要有一定程序设计基础即可,具体而言就是能正确写出一个从1加到100 的函数即可。尤其是,已有的算法著作在分析算法复杂度时,为了结果的严谨往往忽视了数学分析后的直观解释。 《算法设计与分析(Python)》摈弃了算法分析过程中繁琐的数学证明,而主要通过图示等手段给出算法分析结果的直观解释。此外,已有的教材描述算法的语言要么是伪代码,要么是C,C 或者Java这类高级程序语言。采用伪代码描述算法可以获得更为精简的描述,然而缺少可执行的结果会降低初学者对算法结果的直观印象。而使用C,C 或者Java这类高级程序语言描述算法,会降低算法描述的简洁性,还会增加初学者调试出正确结果的难度。为此,《算法设计与分析(Python)》的算法采用Python 描述。Python 是复杂度介于伪代码和C,C 之间的一类语言,其语法简单直观,如果有一定程序设计基础的学生可以在1 小时内入门。《算法设计与分析(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

封面

算法设计与分析(Python)

书名:算法设计与分析(Python)

作者:程振波

页数:225

定价:¥39.0

出版社:清华大学出版社

出版日期:2018-01-01

ISBN:9787302477488

PDF电子书大小:105MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注