Jee*_*eka 31 recursion
关于在排序算法中使用非递归方法的递归,或者就此而言,任何算法的优缺点是什么?
cma*_*ard 29
在大多数情况下,递归较慢,并且也占用了更多的堆栈.递归的主要优点是,对于像树遍历这样的问题,它使算法更容易或更"优雅".看看一些比较:
链接
sgo*_*les 13
递归意味着函数重复调用
它使用系统堆栈来完成它的任务.当堆栈使用LIFO方法时,当一个函数被调用时,被控制被移动到定义函数的位置,该函数被存储在具有某个地址的存储器中,该地址存储在堆栈中
其次,它减少了程序的时间复杂度.
虽然有点偏离主题,但有点相关.必读.:递归与迭代
S.L*_*ott 12
可以递归地定义所有算法.这使得可视化和证明更加容易.
一些算法(例如,Ackermann函数)不能(容易地)迭代地指定.
如果无法执行尾调用优化,则递归实现将使用比循环更多的内存.虽然迭代可能比无法优化的递归函数使用更少的内存,但它在表达能力方面存在一些限制.
Bab*_*cks 5
任何使用递归实现的算法也可以使用迭代实现。
例如,与迭代相比,使用递归更容易解决河内塔问题。
归档时间:
14 年,10 月 前
查看次数:
107322 次
最近记录:
6 年,11 月 前