数据结构-递归(二)
数据结构-递归(二)
爆栈问题(栈溢出):
例子:
1 |
|
递归需要在所有方法结束之后才会进行释放资源,因此当调用的方法足够多的时候,就会让内存占满,从而发成栈溢出事件
因此,我们出现了尾调用和尾递归
尾调用:
函数的最后一步是调用函数,成为尾调用
1 |
|
这些方法不是:
1 |
|
尾递归:最后调用的函数是他本身
如何解决尾递归?
把尾递归转化为迭代
1 |
|
数据结构-递归(二)
https://www.zheep.top/2024/12/01/数据结构-递归(二)/
例子:
1 |
|
递归需要在所有方法结束之后才会进行释放资源,因此当调用的方法足够多的时候,就会让内存占满,从而发成栈溢出事件
因此,我们出现了尾调用和尾递归
函数的最后一步是调用函数,成为尾调用
1 |
|
这些方法不是:
1 |
|
把尾递归转化为迭代
1 |
|