什么时候递归必须使用栈
答案:2 悬赏:0 手机版
解决时间 2021-03-08 05:36
- 提问者网友:两耳就是菩提
- 2021-03-07 13:03
什么时候递归必须使用栈
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-03-07 13:13
除内联函数外,调用函数的时候对应的汇编代码必然有
call 函数地址(传参方式根据调用方式和对应语言有所不同哈)
其中call命令的含义就是把返回地址打入栈中然后跳到函数地址执行,因此必然会使用栈。
因此递归必然会使用栈
call 函数地址(传参方式根据调用方式和对应语言有所不同哈)
其中call命令的含义就是把返回地址打入栈中然后跳到函数地址执行,因此必然会使用栈。
因此递归必然会使用栈
全部回答
- 1楼网友:愁杀梦里人
- 2021-03-07 14:07
递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程
当然,有一些特殊递归不用栈就可以直接转换,比如尾递归、常系数递推等,无论是否有局部变量
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯