1、时间复杂度:递归与迭代差不多(在不考虑函数调用开销和函数调用产生的堆栈开销)。递归
2、空间复杂度:递归开销大一些,因为递归需要系统堆栈存参数返回值等。
总之,递归更容易理解,但收敛不好,容易栈溢出。在实际项目开发,应该避免递归,因为项目代码参数,调用关系比较复杂不容易控制递归深度,甚至会栈溢出。
1、时间复杂度:递归与迭代差不多(在不考虑函数调用开销和函数调用产生的堆栈开销)。递归
2、空间复杂度:递归开销大一些,因为递归需要系统堆栈存参数返回值等。
总之,递归更容易理解,但收敛不好,容易栈溢出。在实际项目开发,应该避免递归,因为项目代码参数,调用关系比较复杂不容易控制递归深度,甚至会栈溢出。