我目前在学校学习递归,当有许多递归调用时,我很难思考方法。我只想问你应该如何看待递归,因为我知道跟踪每一步的方法调用会变得太单调乏味。
不是跟踪每个递归调用,我们简要介绍的是通过归纳来思考递归,但我遇到的问题是如何将归纳应用于数学以外的情况。例如,如果有一个方法可以像这样递归地打印数字:
public void blah(int n)
{
for (int i = 0; i < n; i++)
blah(i);
System.out.print(n);
}我很难思考打印出来的是什么,我也看不出归纳在这里有什么关系(如果它可以在任何地方使用,请原谅我的无知)。
但我想我真正的问题是,如何在不跟踪每个方法调用的情况下处理递归?最好的做法是仅仅看到基本情况并向后工作吗?(但即使这样,我想我对发生的事情也会变得模糊)。
发布于 2012-03-28 08:49:18
您可以找到关于在here上进行递归思考的一个很好的解释
从链接
为递归function.
局部变量的问题(例如,.ASSUME()示例中的小问题)
问题也会被错误地计算,因此,假设
上一步将失败)。
https://stackoverflow.com/questions/9899657
复制相似问题