函数的递归

函数的递归

是什么?

在一个函数中,当函数内部含有调用自身函数的语句,则表示该函数采用递归方法,例如下所示:

def f1(a,b):
      f1(c,d)
      .......
      .......
      return 0

解法?

思路:①找重复

           ②找变化:这里可能需要构造变量。

           ③找边界:是哪个变化的变量,并根据变量变化的规律来得到边界

例如:求n的阶层

           ①找重复(子问题):则为n*(n-1)的阶层,化为求解(n-1)的阶层。求解(n-1)的阶层比求n的阶层问题规模要小,以此类推,这个为子问题。

           ②找变化:这里是n在变小。

           ③找边界:当n=1是结束的标志。

若要使用递归来解决问题,则可以按照此步骤进行解题,这样就更加容易解题。

递归的运用具有一下几种思维

①切蛋糕的思维(就是先切一刀,再将其他看成子问题)

②若切一刀没有用,就看是否有递推的公式。例如斐波那数列,是一般的数学问题,可以分析出数学公式。

posted @ 2022-02-22 19:20  天空之城—我的理想国  阅读(35)  评论(0编辑  收藏  举报