有什么好的递归教程吗?Python?

2024-06-25 06:39:46 发布

您现在位置:Python中文网/ 问答频道 /正文

不知道是否有人能给我指出一个好的递归教程。我对它有点生疏,因为我是在第一学期的数据结构课上学到的。想复习一下我的递归…有什么帮助吗?在


Tags: 数据结构教程学期生疏上学
2条回答

考虑this。在

更严重的是

递归是一种解决问题的方法,它有一个明确定义的基本情况(或者说,我在这里保持简单)

例如,常被引用的阶乘问题就是一个很好的问题。在

阶乘是做什么的?让我们看看一些例子:

factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24

一个数的阶乘是这个数乘以它前面的数的阶乘,除非这个数是0。0的阶乘是1。(不能取负数的阶乘;只能取正整数。)

所以我们有了我们的明确定义的基本情况。而且我们知道如何处理非基本情况的数字(我们将它们乘以小于它的数字1的阶乘)。我们准备编写函数了。在

^{pr2}$

所以你呢

  1. 明确界定你的基本情况。在
  2. 找到一种方法将问题从非基本情况减少到基本情况。在
  3. 用一个函数形式化地表达它(当它很简单的时候!)看起来像

    function:
        if base case: 
            this
        else: 
            something + function(something closer to the base case)
    

如果你想要更先进的东西,谷歌有很多信息。在

我强烈推荐看麻省理工学院的intro to programming course。在

Lecture 4讨论递归。在

相关问题 更多 >