要理解递归算法,首先要了解递归的内涵。 “递归要求我们用新的方式思考原来的问题。” ——戴维·贝兹利(David Beazley) 递归令人生畏,它是编程面试中经常提到的高级计算机科学主题。但是递归并没有什么神奇之处。 本书使用 Python 和 JavaScript 示例讲述递归的基础知识,并阐明递归算法的基本原理。你将了解何时使用递归函数(重要的是,何时不使用它),如何在求职面试中快速实现递归算法,如何使用递归法解决编程中的难题。
售 价:¥
纸质售价:¥78.80购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
技术审校者简介
致 谢
前 言
本书读者对象
本书内容
动手编程才能学会
安装Python
启动IDLE并运行书中的Python示例代码
在浏览器里运行书中的JavaScript示例代码
资源与支持
配套资源
提交勘误信息
与我们联系
关于异步社区和异步图书
第1部分 理解递归
第1章 递归
1.1 如何定义递归
1.2 函数
1.3 栈
1.4 调用栈
1.5 递归函数和栈溢出
1.6 基本情况与递归情况
1.7 位于递归调用之前与之后的代码
1.8 小结
延伸阅读
练习题
第2章 递归与迭代
2.1 计算阶乘
2.2 计算斐波那契数列
2.3 把递归算法转换成迭代算法
2.4 把迭代算法转换成递归算法
2.5 案例研究:指数运算
2.6 在什么场合下需要使用递归
2.7 如何编写递归算法
2.8 小结
延伸阅读
练习题
实践项目
第3章 经典的递归算法
3.1 求数组中各元素之和
3.2 反转字符串
3.3 判断某字符串是否为回文
3.4 汉诺塔问题
3.5 洪泛填充算法
3.6 阿克曼函数
3.7 小结
延伸阅读
练习题
实践项目
第4章 回溯与树的遍历算法
4.1 树的遍历
4.2 在树中寻找由 8 个字母构成的名字
4.3 计算树的深度
4.4 走迷宫
4.5 小结
延伸阅读
练习题
实践项目
第5章 分治算法
5.1 二分搜索
5.2 快速排序
5.3 归并排序
5.4 求数组中各整数之和
5.5 卡拉楚巴乘法
5.6 卡拉楚巴算法背后的数学原理
5.7 小结
延伸阅读
练习题
实践项目
第6章 排列与组合
6.1 集合论的术语
6.2 如何寻找每一种无重复元素的排列
6.3 用多层循环获取各种排列方式
6.4 编写密码破解器
6.5 通过递归计算k组合
6.6 获取各种正确的括号匹配形式
6.7 幂集
6.8 小结
延伸阅读
练习题
实践项目
第7章 记忆化与动态规划
7.1 记忆化
7.2 Python 的 functools 模块
7.3 对非纯函数做记忆化会怎样
7.4 小结
延伸阅读
练习题
第8章 尾调用优化
8.1 尾递归与尾调用优化的原理
8.2 如何通过累加器参数做尾递归
8.3 尾递归的局限
8.4 尾递归案例研究
8.5 小结
延伸阅读
练习题
第9章 绘制分形
9.1 海龟绘图
9.2 基本的海龟函数
9.3 谢尔宾斯基三角形
9.4 谢尔宾斯基地毯
9.5 分形树
9.6 科赫曲线及科赫雪花
9.7 希尔伯特曲线
9.8 小结
延伸阅读
练习题
实践项目
第2部分 项目
第10章 文件查找器
10.1 文件搜索程序的完整代码
10.2 用匹配函数来表示特定的搜索标准
10.3 用递归式的walk()函数走查文件夹
10.4 用特定的匹配函数调用 walk()函数以执行搜索
10.5 用 Python 标准库中的函数处理文件
10.6 小结
延伸阅读
第11章 迷宫生成器
11.1 完整的迷宫生成程序
11.2 设定迷宫生成器所使用的常量
11.3 创建表示迷宫的数据结构
11.4 输出表示迷宫的数据结构
11.5 用递归回溯算法在迷宫中挖路
11.6 触发递归调用链
11.7 小结
延伸阅读
第12章 解决滑块拼图问题
12.1 递归地解决15滑块拼图问题
12.2 完整的滑块拼图解决程序
12.3 设定程序需要使用的常量
12.4 用适当的数据结构表示滑块拼图的状态
12.5 设定新的拼图谜题
12.6 递归地解决滑块拼图谜题
12.7 反复启动 solve()函数并逐渐放宽步数限制
12.8 小结
延伸阅读
第13章 分形图案制作器
13.1 程序内置的几种分形
13.2 分形图案制作器程序所采用的算法
13.3 分形图案制作器程序的完整代码
13.4 设定常量并配置海龟的参数
13.5 编写图形绘制函数
13.6 在递归过程中反复执行图形绘制函数
13.7 设计递归的规则与参数
13.8 自己设计分形
13.9 小结
延伸阅读
第14章 画中画制作器
14.1 安装 Pillow 库
14.2 把基本图像准备好
14.3 画中画制作器程序的完整代码
14.4 在执行递归替换之前先做一些准备工作
14.5 寻找有品红色像素出现的矩形区域
14.6 缩小基本图像
14.7 递归地替换图中的品红色像素
14.8 小结
延伸阅读
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜