中易网

栈在递归中的作用是什么?

答案:2  悬赏:30  
解决时间 2021-11-08 13:41
  • 提问者网友:逐野
  • 2021-11-08 00:47
栈在递归中有什么作用?
最佳答案
  • 二级知识专家网友:狠傷凤凰
  • 2021-11-08 01:57
利用栈的LIFO的特性,帮助解决递归的问题,举个简单的例子:
计算N! ,那么先可以将N压入栈底,接着计算(N-1)!算完了出栈(N-1)!,再出栈N,这样计算很直观又快速!如果N是比较大的数,那么一次压栈和出栈去计算累乘!
全部回答
  • 1楼网友:留下所有热言
  • 2021-11-08 02:42
递归首先是同一个函数的自身反复调用,每个函数的执行都需要一定的栈空间,那么如果递归层次太深的话就需要大量的空间,所以耗费资源。正常的函数调用会在调用结束后释放栈空间,但是递归调用只有在递归到最后一个层次的时候才开始逐步释放栈空间。你说的先进先出是指一种数据结构,函数运行使用的栈就是这种数据结构。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息