![]() |
1
1
版本1较慢,因为您正在反复计算相同的数据。我会尝试在不同的问题上解释这一点,但我想你知道斐波那契数。您可以通过以下递归算法计算任何斐波那契数:
但你到底在计算什么呢?如果你想找到fib(5),你需要计算fib(4)和fib(3),然后再计算fib!看一看图片,充分了解:
代码中也存在相同的情况。即使之前已经计算过uniquePaths(m,n),也可以计算它。为了避免这种情况,在第二个版本中,您使用数组存储计算数据,并且当
|
![]() |
jkfe · 为什么println会在这段递归代码中执行? 2 年前 |
![]() |
Jimmy · 这种算法怎么能按顺序遍历树“爬上”树呢? 2 年前 |
![]() |
AvirukBasak · gcc中无return语句的尾部递归 2 年前 |
![]() |
Dharmik Patel · 使用python递归完全可以整除 2 年前 |
![]() |
W.tan · 一维最短距离递归算法 2 年前 |
![]() |
ncarrawa · 将1添加到i(递归)时出现类型错误 2 年前 |
![]() |
Eren · Python递归何时返回[duplicate] 2 年前 |