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

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

A.

B.

解答

正确答案是 B

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

C 7条回复 评论
是小橘子吖

请问 一下,我本科就是软件工程(软件测试方向),以后也想成为软件测试工程师,目前大三即将结束,我之前是准备考研 ,也只是知道考研没有考虑具体什么方向之类的。因为软件测试是专业课 大三下才开课,我现在发现考研的学校 基本没有 软件测试方向的,都是比较热门的大数据、人工智能等研究方向。 所以 想成为软件测试工程师 是在大四时好好学习技术 然后本来毕业找工作?还是 应该考研究生(只是 我发现研究生没有研究软件测试的,也可能我没关注到) ?

发表于 2025-12-01 23:00:00
0 0
我是一只粽子啊

大佬,能转载下吗?

发表于 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