Python算法从菜鸟到达人
《Python算法从菜鸟到达人》,出版社: 机械工业出版社,ISBN:9787111687962。
截至2022年,机械工业出版社年出版新书近2700种,年引进和输出版权总量近800种,产品横跨科技出版、教育出版、大众出版三大板块,覆盖机械、电工电子、汽车、建筑、计算机、经管、心理[1]、生活、科普、艺术设计、文创等十多个专业领域,以及高等教育[2]、职业教育、技能教育等不同教育层次。
目录
内容简介
本书以 Python 语言为平台,分四个部分介绍了算法的基本概念、五种经典的算法思想、重要的数据结构以及实践中常用的几种算法技术。除第 1 章和第 2 章外,书中每章内容都包括了基本概念、实现方式、具体应用以及达人修炼真题。每一种算法思想中的达人修炼真题都提供了相应的源代码,可供读者运行,从而达到理论与实践并重的目的。
本书从算法基本分析到算法基本思想,再到具体应用及大量真题,内容全面,条理清楚,语言通俗。本书对计算机及相关专业本科生及研究生的面试、笔试将有所帮助;此外,计算机科学相关领域的工程师以及爱好者也可以将本书作为技术参考书籍,在需要时可查找所需算法的相关内容并从中得到启示;当然,对计算机科学感兴趣的高中生以及 IT 领域项目经理也可以阅读本书,从而开启算法世界的大门。
目录
前言
第一部分 算法基础/1
第 1 章 算法综述/2
1.1 算法在计算机系统中的作用/2
1.1.1 算法的定义/2
1.1.2 算法的地位/2
1.1.3 一个简单的算法/3
1.2 伪代码的约定/4
第 2 章 算法分析/6
2.1 精确效率分析/6
2.2 渐进效率分析/8
2.2.1 渐进记号/9
2.2.2 渐进记号的应用/10
2.3 递归式求解/15
第二部分 经典算法思想/17
第 3 章 递归与分治法/18
3.1 递归的概念/18
3.2 分治法/22
3.3 分治法的应用/25
3.4 达人修炼真题/26
第 4 章 动态规划算法/50
4.1 动态规划基础/50
4.1.1 动态规划基本思想/50
4.1.2 动态规划算法举例——长公共子序列/50
4.2 动态规划算法分析/53
4.2.1 优子结构/54
Python 算法从菜鸟到达人
VI
4.2.2 重叠子问题/54
4.3 动态规划算法的应用/55
4.3.1 0-1 背包问题/55
4.3.2 石子归并/56
4.3.3 常用动态规划类问题/59
4.4 达人修炼真题/60
第 5 章 贪心算法/79
5.1 贪心算法基础/79
5.1.1 贪心算法基本思想/79
5.1.2 贪心算法举例——装载问题/79
5.2 贪心算法的分析/80
5.3 贪心算法的应用/81
5.3.1 普通背包问题/81
5.3.2 活动安排问题/83
5.3.3 纪念品分组/85
5.4 达人修炼真题/87
第 6 章 回溯法/91
6.1 回溯法基本概念与算法框架/91
6.1.1 基本思路/91
6.1.2 回溯法的实现/93
6.2 回溯法的应用/94
6.2.1 0-1 背包问题/94
6.2.2 八皇后问题/96
6.2.3 一摞烙饼的排序/97
6.3 达人修炼真题/100
第 7 章 分支界限法/103
7.1 分支界限法概念与算法框架/103
7.1.1 分支界限法基本思想/103
7.1.2 算法框架与分析/104
7.1.3 一个简单的例子(0-1 背包问题)/106
7.2 分支界限法的应用/108
7.2.1 TSP 问题/108
7.2.2 多段图的最短路径问题/111
7.2.3 任务分配问题/113
7.3 达人修炼真题/116
第三部分 重要数据结构/121
第 8 章 栈与队列/122
8.1 栈/122
目录
VII
8.2 队列/124
8.3 达人修炼真题/128
第 9 章 链表/142
9.1 链表概述/142
9.2 链表的操作/143
9.3 达人修炼真题/145
第 10 章 树与二叉树/152
10.1 树的概念与定义/152
10.1.1 基本概念/152
10.1.2 树的表示/153
10.2 二叉树/154
10.2.1 基本概念/154
10.2.2 二叉树的存储结构/155
10.2.3 遍历二叉树和线索二叉树/156
10.3 树、二叉树和森林之间的关系/159
10.4 达人修炼真题/164
第 11 章 哈希表/170
11.1 哈希表概述/170
11.2 哈希表的应用/173
11.3 达人修炼真题/175
第 12 章 并查集/185
12.1 并查集基本思想/185
12.1.1 并查集概念/186
12.1.2 并查集的实现/186
12.1.3 带权并查集/189
12.2 并查集的应用/191
12.2.1 食物链/191
12.2.2 Kruskal 最小生成树算法/194
12.3 达人修炼真题/195
第 13 章 位图/199
13.1 位图基本概念/199
13.2 位图法的应用/203
13.2.1 位运算常见应用/204
13.2.2 位图法在大数据处理中的应用/207
13.3 达人修炼真题/209
第四部分 常用算法/213
第 14 章 排序算法/214
14.1 插入排序/214
Python 算法从菜鸟到达人
VIII
14.2 选择排序/218
14.3 交换排序/222
14.4 归并排序/226
14.5 桶排序/基数排序/228
14.6 达人修炼真题/231
第 15 章 查找算法/235
15.1 基本概念/235
15.2 静态查找/236
15.3 动态查找/239
15.4 哈希查找/244
15.5 达人修炼真题/244
第 16 章 字符串匹配算法/250
16.1 简单字符串匹配/250
16.2 KMP 算法/251
16.3 BM 算法/254
16.4 SUNDAY 算法/255
16.5 达人修炼真题/255
附录/263
参考文献
- ↑ 谈心理健康教育对学生的重要性 ,搜狐,2020-04-12
- ↑ 2020中国高等教育十大关键词,搜狐,2020-12-28