递归函数每次调用自身时,系统都会为新开启的函数分配内存,以存储局部变量、调用地址和其他信息等,导致递归通常比迭代更加耗费内存空间。
递归问题关注两点:① 递归边界(终止条件);② 递归关系(递推公式)。分析时展开前几步即可看出规律。
注意递归深度过大会导致栈溢出。递归必须包含终止条件,否则造成无限递归。
【考点】递归调用栈机制|函数栈帧结构|迭代与递归内存开销对比
---
本题考查《GESP 202412 C++ 五级》算法模块中"递归基础"子项。命题人专盯死记硬背"递归=栈溢出"的考生,把"调用栈帧"这一底层机制抛出来,逼你从原理而非结论作答。
---