首页 > 试题广场 >

以下哪种算法只能用递归来实现?

[单选题]
以下哪种算法只能用递归来实现?
  • 汉诺塔
  • 斐波那契数列
  • 快速排序
  • 其他选项都不对
所有递归都可以用非递归的方式实现
至于是不是循环,则方式各异。
递归的本质是压栈,循环中加上栈操作,其实和递归没有本质区别
而且,递归问题用非递归的方式去解,并不会从本质上降低问题层次的深度。
写的不好一样会有溢出的问题。

发表于 2019-10-07 16:25:51 回复(0)
所有的递归,都可以用栈来实现,因为递归程序的内部,是开辟函数栈来实现的。
也就是,所有的递归程序,都可以转成非递归的实现。
发表于 2019-10-13 17:28:18 回复(0)