• 欢迎访问1024小神,一个只会Python的程序猿不是一个好司机
  • 有什么想对我说的可以在留言板里给我留言哦~
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏1024小神吧

什么是递归?

OtherAbout 1024小神 1年前 (2020-06-21) 255次浏览

什么是递归?

在函数中存在着调用函数本身的情况,这种现象就叫递归。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。

以阶层函数为例,如下, 在 factorial 函数中存在着 factorial(n – 1) 的调用,所以此函数是递归函数

public int factorial(int n) {
    if (n < =1) {
        return 1;
    }
    return n * factorial(n - 1)
}

递归有以下两个特点:

一个问题可以分解成具有相同解决思路的子问题,子子问题,换句话说这些问题都能调用同一个函数。

经过层层分解的子问题最后一定是有一个不能再分解的固定值的(即终止条件),如果没有的话,就无穷无尽地分解子问题了,问题显然是无解的。


如有失效,请留言告知丨转载请注明原文链接:什么是递归?
点赞 (0)