C++课后练习2:试分析在C++中使用递归函数的有点和缺点?
优点:代码简洁,容易理解,对于回溯等算法,不需要额外的存储,也不担心内存分配释放
缺点:效率低,容易堆栈溢出,如果递归层次深的话。
1优点:结构清晰,可读性强(但不易理解),而且容易用数学归纳法来证明算法的正确性,因此它为设计算法、调试程序带来很大方便。 递归写起来方便,结构层次清晰;
2缺点:递归算法的运行效率较低,无论是耗费的计算时间还是占用的存储空间都比非递归算法要多。递归太深容易造成堆栈的溢出。缺点是太占资源,因为它要保护现场;
优点:结构清晰,可读性强
缺点:运行效率较低,无论是耗费的计算时间还是占用的存储空间都比非递归算法要多