problem-solving-with-algorithms-and-data-structure-using-python 中文版
4 递归
递归是一种解决问题的方法,将问题分解为更小的子问题,直到得到一个足够小的问题可以被很简单地解决,通常递归设计函数调用自身。递归允许我们编写优雅的解决方案,解决可能很难编程的问题
递归算法必须服从三个重要的定律:
- 递归算法必须具有基本情况
- 递归算法必须改变其状态并向基本情况靠近
- 递归算法必须以递归的方式调用自身
整数转换为任意进制字符串
1. 将原始数字减少为一系列单个位数字
2. 使用查找将单个位数字转换为字符串
3. 将单个位字符串链接在一起形成最终结果
复制
动态规划
计算机科学中的许多程序是为了优化一些值而编写的,例如,找到两个点之间的最短路径,找到最合适的一组点的线,或找到某些标准的最小对象集。动态规划就是这些类型的优化问题的一个策略。