开发者社区> 问答> 正文

对下面的递归算法,写出调用f(4)的执行结果。

对下面的递归算法,写出调用f(4)的执行结果。

展开
收起
知与谁同 2018-07-22 11:13:31 2368 0
2 条回答
写回答
取消 提交回答
  • 行  输出    递归栈
    1   4      f(4):
    2   3      f(4):f(3):
    3   2      f(4):f(3):f(2):
    4   1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    5   1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    6   2      f(4):f(3):f(2):
    7   1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    8   1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    9   3      f(4):f(3):
    10  2      f(4):f(3):f(2):
    11  1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    12  1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    13  2      f(4):f(3):f(2):
    14  1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    15  1      f(4):f(3):f(2):f(1):
               f(4):f(3):f(2):f(1):f(0):
               f(4):f(3):f(2):f(1):f(0):
    2019-07-17 22:54:51
    赞同 展开评论 打赏
  • TA有点害羞,没有介绍自己...
    答案是这个:4 3 2 1 1 2 1 1 3 2 1 1 2 1 1
    这个需要你深刻理解递归的内涵,也就是函数堆栈怎么恢复现场的。如果学过编译原理或者汇编的话会比较容易理解。
    你可以debug单步调试一下。
    2019-07-17 22:54:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载