问题:递归算法如何转换为非递归算法?选项:
A: 可以直接用循环代替递归项
B: 可以用队列模拟执行过程来转换
C: 可以直接将递归项去掉
D: 可以用栈模拟执行过程来转换
A: 可以直接用循环代替递归项
B: 可以用队列模拟执行过程来转换
C: 可以直接将递归项去掉
D: 可以用栈模拟执行过程来转换
举一反三
- 递归算法如何转换为非递归算法?( ) A: 可以直接将递归项去掉 B: 可以用队列模拟执行过程来转换 C: 可以用栈模拟执行过程来转换 D: 可以直接用循环代替递归项
- 通常情况下,尾递归可以用循环语句转换为等价的非递归算法,其他递归算法可以用栈转换为等价的非递归算法。递归算法和等价的非递归算法相比,后者的执行效率更高些。
- 下列可以直接用循环结构即可将递归转换为非递归的是() A: 斐波那契数列问题; B: N!问题 C: 直接递归问题 D: 尾递归问题
- 若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法。 A: 先递归后递推B.先递推后递归C.递归D.递推 B: 若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,因为()。
- 案例分析题若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法,因为()。 若一个问题的求解既可以用递归算法,也可以用递推算法,则往往用()算法。 A: 先递归后递推 B: 先递推后递归 C: 递归 D: 递推