递归调用会不会消耗相当大的资源

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:23:25
忽然想到一件事情,如果一个递归调用自身N次就可能会有N组局部变量入栈
那是不是到最后一次调用,N组变量及参数入栈了,然后再一个一个地返回N次才算递归结束呢,这种可能存在吗

不是可能存在的问题,而是必然这样的问题。所以数据结构中有要求写二叉树的非递归遍历算法,直接用栈会比用递归在效率上有所改观。

肯定会,递归就是不停的压栈出栈,所以我比较否定2楼的说法。
要记住,所有的递归都是可以通过循环判断来做,要节省好多时间!!
不过递归再有的地方是很有用的,就是比较小的次数递归,容易叫人理解

会!大量的递归会导致资源耗尽。所以数量很大的时候还是用迭代比较好。