校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 >
题目

只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈()

A.

B.

解答

正确答案是 B

递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程

C 6条回复 评论
我是一只粽子啊

大佬,能转载下吗?

发表于 2022-12-28 21:00:00
0 0
周周

学到了,原来是这样

发表于 2021-12-05 21:00:00
0 0
雨声敲敲

表示题目读的不太懂..

发表于 2018-10-13 14:04:00
0 0
企鹅哥哥

举个例子,求阶乘递归转非递归就没有用到栈。

发表于 2018-10-13 14:03:55
0 0
虹猫

递归过程转换为非递归过程,一般都要用栈来模拟这个过程调用

发表于 2018-10-13 14:03:39
0 0
小小精灵

递归工作栈里面包括返回地址、本层的局部变量和递归调用的形参代换用实参,所以正常情况下,无论递归过程有没有使用局部变量,转换为非递归过程都需要用栈来模拟这个递归调用过程 
当然,有一些特殊递归不用栈就可以直接转换,比如尾递归、常系数递推等,无论是否有局部变量

发表于 2018-10-13 14:03:33
0 0