C++ 有好的递归教程吗?python
想知道是否有人能给我介绍一个好的递归教程。我对它有点生疏,因为我在第一学期的数据结构课上学到了它。想复习一下我的递归…有什么帮助吗 我强烈推荐看麻省理工学院的 谈论递归。考虑一下 更严重的是 递归是一种解决有明确定义的基本情况的问题的方法(或者说,我在这里保持简单) 例如,经常引用的阶乘问题就是一个很好的问题 阶乘做什么?让我们看一些例子:C++ 有好的递归教程吗?python,c++,python,recursion,C++,Python,Recursion,想知道是否有人能给我介绍一个好的递归教程。我对它有点生疏,因为我在第一学期的数据结构课上学到了它。想复习一下我的递归…有什么帮助吗 我强烈推荐看麻省理工学院的 谈论递归。考虑一下 更严重的是 递归是一种解决有明确定义的基本情况的问题的方法(或者说,我在这里保持简单) 例如,经常引用的阶乘问题就是一个很好的问题 阶乘做什么?让我们看一些例子: factorial(0) = 1 factorial(1) = 1 factorial(2) = 2 factorial(3) = 6 factorial(
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
一个数字的阶乘是该数字乘以其前面数字的阶乘,除非(现在,这是基本情况)该数字为0。0的阶乘是1。(不能取负数的阶乘;只能取正整数。)
因此,我们有了明确定义的基本情况。我们知道如何处理非基本情况的数字(我们将它们乘以小于1的数字的阶乘)。我们已经准备好编写函数了
def factorial(x):
if x == 0: # this is our base case
return 1 # and this is what we do when we see it
else: # this is what we do with all other numbers
return x * factorial(x-1)
那么你呢
function:
if base case:
this
else:
something + function(something closer to the base case)
如果你想要更高级的东西,谷歌有很多信息 该死的,你先到了,马克!:)太好了,应该是我的!Meh,我怎么能指望一个递归问题没有一个经典的自我笑话链接呢!:只有PIf它才会出现在右边的“链接”部分:/+1表示递归答案:-),这也很好。而且是递归的!