热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

Python常用算法手册

编号:
wx1202121999
销售价:
¥52.03
(市场价: ¥59.80)
赠送积分:
52
数量:
   
商品介绍

108段精讲学习视频全程相伴,扫码即看;103个有趣实例及精彩分析娓娓道来。

算法是程序的灵魂,算法能够告诉开发者在面对一个项目功能时用什么思路去实现,有了这个思路后,编程工作只需遵循这个思路去实现即可。本书循序渐进、由浅入深地详细讲解了算法实现的核心技术,全书共12章,分别讲解了初步认识算法思想,枚举算法思想,递归算法思想,分治算法思想,贪心算法思想,回溯算法思想,迭代算法思想,查找算法,排序算法,使用算法解决数据结构问题,解决数学问题,经典算法问题。全书通过具体实例的实现过程演练了各个知识点的具体使用流程,引领读者全面掌握算法的核心技术。

徐庆丰,西安交通大学计算机硕士,软件工程硕士。

章初步认识算法思想

1.1什么是算法1

1.1.1一道趣味题1

1.1.2算法的定义2

1.1.3计算机中的算法2

1.1.4总结算法的特征3

1.2算法是程序的灵魂3

1.3算法的表示方法4

1.3.1用流程图来表示算法4

1.3.2用N-S流程图来表示算法5

1.4Python算法思想6

1.4.1常用的算法思想6

1.4.2衡量算法优劣的标准6

1.4.3算法复杂度7

1.4.4时间复杂度与空间复杂度的取舍问题9

1.5小结10

第2章枚举算法思想

2.1枚举算法基础11

2.1.1枚举算法介绍11

2.1.2Python中枚举算法的实现思路11

2.2算法演练——找出符合条件的5位数12

2.2.1算法分析:首位数不能是谁12

2.2.2具体实现12

2.3算法演练——24点游戏13

2.3.1算法分析:加括号和去除重复表达式13

2.3.2具体实现14

2.3.3第二种方案:列表切片操作实现排列组合17

2.3.4第三种方案:itertools模块实现排列组合17

2.4算法演练——解决熄灯问题19

2.4.1算法分析:规则中的规律20

2.4.2具体实现21

2.5算法演练——解决“讨厌的青蛙”问题23

2.5.1算法分析:缩小解的空间24

2.5.2具体实现24

2.6小结26

第3章递归算法思想

3.1递归算法思想基础27

3.2算法演练——解决“斐波那契数列”问题28

3.2.1算法分析:找出兔子增加的规律28

3.2.2具体实现28

3.3算法演练——解决“汉诺塔”问题29

3.3.1算法分析:情景模拟移动过程29

3.3.2具体实现30

3.4算法演练——解决“阶乘”问题32

3.4.1算法分析:拆分调用32

3.4.2具体实现:显示6以内阶乘过程32

3.5算法演练——进制转换器33

3.5.1算法分析:除以2获取余数33

3.5.2具体实现:输出十进制数字10对应的二进制数33

3.6算法演练——分解数字34

3.6.1算法分析:递归除以1034

3.6.2具体实现:分解5位整数1234534

3.7算法演练——解决二叉树遍历问题34

3.7.1算法分析:实现三种遍历方式34

3.7.2实现树的结构35

3.7.3二叉树递归遍历方案36

3.8算法演练——优选公约数和最小公倍数38

3.8.1算法分析:整理计算流程38

3.8.2基于递归算法的方案38

3.8.3比较递归和非递归方案39

3.9小结40

第4章分治算法思想

4.1分治算法思想基础41

4.1.1分治算法介绍与解题步骤41

4.1.2分治算法的思路41

4.1.3分治算法能解决什么类型的问题42

4.2算法演练——二分法找出有序列表指定值43

4.2.1算法分析:确定中位数43

4.2.2种方案:先判断再查询43

4.2.3第二种方案:判断某个元素是否在列表中44

4.2.4第三种方案:找出有序列表中的指定值45

4.3算法演练——求顺序表中数据的优选值45

4.3.1算法分析:找出每一个分组中的优选值45

4.3.2具体实现:找出给定列表list中的优选值46

4.4算法演练——查找列表中元素的最小值和优选值46

4.4.1算法分析:合理分组46

4.4.2种方案:分组计算47

4.4.3第二种方案:选择优选最小元素48

4.5算法演练——找出一组序列中的第k小(大)的元素48

4.5.1算法分析:设置枢纽元素48

4.5.2种方案:分组比较49

4.5.3第二种方案:快速排序的分治算法49

4.5.4第三种方案:分组和排序同时进行50

4.5.5第四种方案:生成随机校验码51

4.6算法演练——快速排序51

4.6.1算法分析:设定基准线并对比51

4.6.2具体实现52

4.6.3第二种方案:列表推导52

4.7算法演练——实现归并排序53

4.7.1算法分析:中间下标与值大小分配53

4.7.2具体实现:对列表[1,6,12,3,8]进行归并排序54

4.8算法演练——整数划分54

4.8.1算法分析:梳理递归关系55

4.8.2具体实现55

4.9小结56

第5章贪心算法思想

5.1贪心算法思想基础57

5.1.1贪心算法介绍57

5.1.2贪心算法的基本思路58

5.2算法演练——解决“找零方案”问题58

5.2.1算法分析:零钱的面额是固定的58

5.2.2具体实现58

5.3算法演练——解决“汽车加油”问题59

5.3.1算法分析:先加油后贪心59

5.3.2具体实现59

5.4算法演练——解决“求优选子元素之和问题”问题60

5.4.1算法分析:确定目前子元素的和是否优选60

5.4.2具体实现:计算整数列表s的优选连续子元素之和61

5.5算法演练——解决“幼儿园分糖果”问题61

5.5.1算法分析:优先从需求因子小的孩子进行尝试61

5.5.2具体实现61

5.6算法演练——圣诞节的礼物62

5.6.1算法分析:单位价值优选62

5.6.2具体实现63

5.7算法演练——解决“活动安排”问题64

5.7.1算法分析:活动安排问题的最优解64

5.7.2个方案:快速排序65

5.7.3第二个方案:通过冒泡排序同步交换数据66

5.8算法演练——解决“摇摆序列”问题67

5.8.1算法分析:选择使得摇摆子序列长度更长的数67

5.8.2具体实现68

5.9算法演练——移除k个数字69

5.9.1算法分析:从高位向低位遍历69

5.9.2具体实现70

5.10算法演练——四种解决“霍夫曼编码”问题的方案70

5.10.1算法分析71

5.10.2种方案:权值排序72

5.10.3第二种方案:使用Python自带的内置库heapq73

5.10.4第三种方案:使用内置统计函数75

5.10.5第四种方案:实现完整树的队列操作76

5.11算法演练——解决“Kruskal算法”问题78

5.11.1算法分析:顺序选取权重边79

5.11.2种方案:判断根结点是否相同80

5.11.3第二种方案:将权重最小的边加入到最小生成树81

5.11.4第三种方案:基于不相交集实现83

5.12算法演练——解决“Prim算法”问题85

5.12.1算法分析:将结点分组86

5.12.2种方案:选取权重最小的一条边86

5.12.3第二种方案:随机选取结点87

5.13小结89

……

商品参数
基本信息
出版社 中国铁道出版社
ISBN 9787113267445
条码 9787113267445
编者 徐庆丰
译者 --
出版年月 2020-08-01 00:00:00.0
开本 16开
装帧 平装
页数 308
字数 468000
版次 1
印次 1
纸张 80g胶版纸
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]