擅长:python、mysql、java
<p>考虑<a href="https://stackoverflow.com/questions/3295817/any-good-recursive-tutorials-python/3295853#3295853">this</a>。在</p>
<p>更严重的是</p>
<p>递归是一种解决问题的方法,它有一个明确定义的基本情况(或者说,我在这里保持简单)</p>
<p>例如,常被引用的阶乘问题就是一个很好的问题。在</p>
<p>阶乘是做什么的?让我们看看一些例子:</p>
<pre><code>factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
</code></pre>
<p>一个数的阶乘是这个数乘以它前面的数的阶乘,除非这个数是0。0的阶乘是1。(不能取负数的阶乘;只能取正整数。)</p>
<p>所以我们有了我们的<strong>明确定义的基本情况</strong>。而且<strong>我们知道如何处理非基本情况的数字</strong>(我们将它们乘以小于它的数字1的阶乘)。我们准备编写函数了。在</p>
^{pr2}$
<p>所以你呢</p>
<ol>
<li>明确界定你的基本情况。在</li>
<li>找到一种方法将问题从非基本情况减少到基本情况。在</li>
<li><p>用一个函数形式化地表达它(当它很简单的时候!)看起来像</p>
<pre><code>function:
if base case:
this
else:
something + function(something closer to the base case)
</code></pre></li>
</ol>
<p>如果你想要更先进的东西,谷歌有很多信息。在</p>