福建漳州建设局网站,深圳公司免费网站建设,暴雪,广州网站app制作公司优点#xff1a;
代码简洁。易于理解
缺点#xff1a;
1、时间和空间的消耗比较大#xff1a;
递归由于是函数调用自身#xff0c;而函数调用是消耗时间和空间的。每一次函数调用#xff0c;都需要在内存栈中分配空间以保存参数#xff0c;返回值和临时变量。而往栈中…优点
代码简洁。易于理解
缺点
1、时间和空间的消耗比较大
递归由于是函数调用自身而函数调用是消耗时间和空间的。每一次函数调用都需要在内存栈中分配空间以保存参数返回值和临时变量。而往栈中压入和弹出数据也都需要时间所以降低了效率。
2、重复计算
递归中又很多计算都是重复的递归的本质时把一个问题分解成两个或多个问题多个问题存在重叠的部分即存在重复计算。
如斐波那契数列的递归实现。
3、栈溢出
递归可能存在栈溢出每次调用时都会在内存栈中分配空间。
而栈空间的容量是有限的当调用的次数太多就可能会超出栈的容量造成调用栈溢出。