我在思考递归算法的真正目的是什么。我们都知道递归算法在某些方面是紧凑且易于理解的。然而,递归的最大缺点是递归算法在运行时需要大量的系统资源。这导致递归算法只能在非常“简单的数据”上运行的结果(我不确定我是否使用了正确的词)。
例如:虽然我编写了一个算法来使用递归算法计算某个矩阵的格路径数。该算法适用于较小的矩阵大小,但在处理大于 20 的矩阵大小时,计算机需要很长时间才能完成任务。所以我必须用正常的方法重写我的算法。
谁能为我解释使用递归算法的目的?因为它对系统资源的使用不是很有效,并且可以通过常规方法完全重写(我知道有时可能很难重写递归算法)。