Alterna · 学习资料
递归算法
39.3: 重复算法:短理论,一个例子和皮松梯道。
本节学习内容
- 如何运作。
- 执行中的一个例子
- 记住
内容与核心概念
递归函数包含一个基本大小写和向一个较小任务过渡。当堆叠折叠后会收集答案。
内容和实践
11年级
EGE 第16号
01
如何运作。
递归通过同一问题的较小版本解决问题。 正确性需要基础、越来越弱的论证和可以理解的结果结束。
基地 基地
一次没有接到新电话就回复的事件。
过渡。
一次反复的质疑 争吵接近基地
滚动。
基数之后,值返回逆序。
价值。
一次循环呼叫往往是线性的;两个分支可能带来数量惊人的挑战。
02
执行中的一个例子
启动短程序, 跳过线条。 可视化仪只显示代码、 当前行、 变量和输出 。
n+++0 的递递递因数系数有一个基基
n <= 1
过渡时期和过渡期间的
n * factorial(n - 1)
如果论据不减少或基底无法接近,Python将完成与下列人员的合作:
RecursionError
对于Fibonacci等可重复的分支,使用备忘录:字典保留已经计算好的数值,并删除重写。
算数映图
从左到右读取,然后运行代码。
1
开始
2
打电话f(3)
3
n <= 1?
4
号码:电话F(n-1)
5
将工作归还并拆除
03
记住
检查最小允许 n 的基数。
证明每个循环路径 都在接近基地
不要用天真无稽的重复 来对付一个没有备忘的大个子
本页的语法
def f(n)
确定递归函数。
if base: return
基数中止重现的分支 。
f(n - 1)
循环性过渡,其论点越来越少。
RecursionError
发生过深的复发 或不可能的基地的例外
dict.get(key, default)
在记忆中,您读取了一个保存的答案或默认值。
lru_cache
用于纪念的家具装饰器; 理解手动状态后使用它 。
print
显示最后折叠结果。
global calls
允许该函数更改模块级别的名称;仅适用于柜台的培训路径。
calls += 1
增加一个呼叫表。