展开全部

主编推荐语

本书使用Python和JavaScript示例讲述递归的基础知识。

内容简介

全书凝聚了作者多年的Python教学经验,内容通俗易懂,旨在剖析递归及其本质。

本书不仅结合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 小结
  • 延伸阅读
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。