已知计算斐波那契散列的C代码如下所示: int f(int n){ int t, s; if(n<2) return 1; s= f(n-1); t= f(n-2); return s+t; 假设初始调用为f(4), (1)给出完整的活动树; (2)画出当第一个f(1)调用
时间: 2024-02-02 13:03:58 浏览: 33
C语言程序设计-用函数求fibonacci数列前n项的和;说明:fibonacci数列为数列的第一项值为1,第二项
5星 · 资源好评率100%
(1) 完整的活动树如下所示:
```
f(4)
/ \
f(3) f(2)
/ \ / \
f(2) f(1) f(1) f(1)
/ \
f(1) f(1)
```
其中,f(4)表示初始调用,f(3)和f(2)表示第一层递归调用,f(2)、f(1)、f(1)和f(1)表示第二层递归调用。
(2) 当第一个f(1)调用时,活动树如下所示:
```
f(3)
/ \
f(2) f(1)
/ \
f(1) f(1)
```
其中,f(3)表示当前递归调用的函数,f(2)和f(1)表示下一层递归调用的函数。此时f(1)已经计算完毕,返回值为1,并将其返回给f(2),继续计算。
阅读全文