本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
本书从Python语言的基础算法讲起,逐步深入六大算法思想,每个算法思想佐以大量生动有趣的案例,让读者在学Python语法及算法的同时,意识到算法的重要性,并对算法产生浓厚的兴趣。本书共11章,分为2篇。第1篇“基础知识”,主要介绍Python、算法、数据结构、时间复杂度和空间复杂度等关键的基础概念,以及十大排序算法,让读者对算法有个初步的了解;第2篇“开始算法之旅”,主要结合40多个典型案例和60多种解题思路和方法介绍遍历法、迭代法、递归法、回溯法、贪法、分治法和动态规划六大算法思想,涉及算法的基本思想、关键征、解题段和框架等。本书别适合对Python语言和算法感兴趣的入门与进读者阅读,也适合其他编程爱好者阅读,另外还适合作为相关院校和培训机构的教材。
前言
第1篇
第1章 概述 2
1.1 书本简介 4
1.1.1 书本涉及的内容 4
1.1.2 书本不涉及的内容 5
1.2 本书的势 5
1.3 需要做的准备工作 6
1.4 本章小结 10
第2章 何为算法 11
2.1 什么是算法 11
2.1.1 算法的概念 11
2.1.2 算法的征 12
2.1.3 算法的应用 12
2.1.4 算法的设计策略 13
2.2 空间复杂度和时间复杂度 13
2.2.1 空间复杂度 13
2.2.2 时间复杂度 15
2.3 算法趣闻 18
2.4 本章小结 20
第3章 数据结构是算法的骨骼 21
3.1 Python的基本数据类型 21
3.1.1 int类 22
3.1.2 bool类 22
3.1.3 str类 23
3.1.4 list类 28
3.1.5 tuple类 29
3.1.6 dict类 31
3.1.7 set类 33
3.1.8 小结 35
3.2 数据结构——线性表 36
3.2.1 般线性表 36
3.2.2 受限线性表 41
3.3 数据结构——树 44
3.4 数据结构——图 47
3.4.1 按存储路径方向分类 48
3.4.2 按存储结构分类 49
3.5 本章小结 50
第4章 十大排序算法 52
4.1 非线性时间比较类排序 52
4.1.1 冒泡排序 53
4.1.2 快速排序 55
4.1.3 直接入排序 59
4.1.4 希尔排序 65
4.1.5 简单选择排序 70
4.1.6 堆排序 72
4.1.7 归并排序 79
4.2 线性时间非比较类排序 84
4.2.1 计数排序 84
4.2.2 桶排序 87
4.2.3 基数排序 90
4.3 本章小结 92
第2篇 开始算法之旅
第5章 数字的魅力 94
5.1 情有钟的素数 94
5.2 罕有的数 98
5.3 洁身自好的“吴柳” 103
5.4 自恋成狂的水仙花数 106
5.5 回归本真的快乐数 108
5.6 古埃及的秘智慧Ⅰ 114
5.7 限膨胀的乘Ⅰ 118
5.8 RSA加密的钥匙Ⅰ 121
5.9 狂繁殖的兔子Ⅰ 124
5.10 数是如此简单Ⅰ 128
5.11 本章小结 129
第6章 遍历算法 131
6.1 黑板上的排列组合 131
6.2 鸡兔同笼 137
6.2.1 抬起脚来 137
6.2.2 万变不离其宗 142
6.3 我要的是无二 144
6.4 鸳鸯巧促成双对Ⅰ 156
6.5 二树的遍历 159
6.5.1 前序遍历 163
6.5.2 中序遍历 165
6.5.3 后序遍历 167
6.5.4 层次遍历 169
6.5.5 知二求 171
6.6 迷宫短路径问题 172
6.7 本章小结 176
第7章 迭代算法 178
7.1 猴子摘桃 179
7.2 阿米巴分裂 183
7.3 谁才是真正的明星 185
7.4 数是如此简单Ⅱ 186
7.5 浅谈迭代与遍历 195
7.6 本章小结 195
第8章 递归算法 197
8.1 限膨胀的乘Ⅱ 197
8.2 RSA加密的钥匙Ⅱ 198
8.3 狂繁殖的兔子Ⅱ 199
8.4 汉诺塔通关攻略 201
8.5 握握手,好朋友 205
8.6 起去看场电影吧 208
8.7 请展示所有排列 212
8.8 我该带走什么 217
8.9 小青蛙跳跳跳 223
8.10 浅谈递归与迭代 228
8.11 本章小结 230
第9章 回溯算法 231
9.1 素数环问题 232
9.2 全排列问题Ⅰ 235
9.3 八后问题 237
9.4 往事成风,我该如何选择Ⅰ 241
9.5 迷宫逃亡 244
9.6 骑士周游列Ⅰ 247
9.7 浅谈回溯与遍历、递归及迭代 251
9.8 本章小结 253
第10章 贪算法 255
10.1 古埃及的秘智慧Ⅱ 256
10.2 骑士周游列Ⅱ 259
10.3 往事成风,我该如何选择Ⅱ 263
10.4 你要的全拿走 266
10.5 敢问路在何方 269
10.6 克鲁斯卡尔算法 274
10.7 浅谈贪与迭代、回溯及遍历 279
10.8 本章小结 280
第11章 分治算法 282
11.1 鸳鸯巧促成双对Ⅱ 283
11.2 全排列问题Ⅱ 289
11.3 你能找到它吗 290
11.4 你们被我围了 294
11.5 大连续子序列之和 303
11.6 浅谈分治与递归、遍历及贪 307
11.7 本章小结 308