美文网首页
递归思想

递归思想

作者: 聆听l | 来源:发表于2018-06-21 19:34 被阅读0次

递归的含义:

        就是一个函数内部再调用该函数本身的一种情形,这是语法形式上的。

具体场景是:

        如果要解决的“最终问题”,可以根据比该问题“小一级”的问题的答案而得到解决,

并且,该“小一级”的问题,还可以根据比其“更小一级”的问题的答案而得到解决,

以此类推,直到“最小一级”的问题。如果最小一级问题已知,则最终的问题也就解决了。

危险:

        如果函数在执行的过程中没有一个“不再调用”的终结机制,那么就会出现“停不下来”的现象。

原理:

        要想得到最大(最终)问题(可以称为n级)的答案,如果能得到n-1级的答案,则可以“轻松算出”;并且,还能够知道这些问题中的“最小一级”的答案。

则这种情况,就可以使用递归思想来解决:从最大一级开始,一级一级往小的方向找。

递归调用过程的代码演示;

function    f1($n){

           $n++;

            echo   " $n " ;

            if($n < 5){

                    f1($n);

            }

            echo  " $n " ;

}

f1(1);

输出结果及分析:

举例1:计算5的阶乘

数学上阶乘可以这样来描述,一个数n的阶乘,是n-1的阶乘,乘以n的结果!假设,我们有一个函数 fn(),它可以计算任意正整数n的阶乘;

举例2:

计算斐波那契数列第10项的值:1, 1, 2, 3, 5, 8, 13, 21, ......

假设有个函数,可以计算斐波那契数列的第n项:

相关文章

  • 43_递归的思想与应用(上)

    关键词:递归的思想、递归模型的一般表示法、递归函数 0. 递归的思想 递归是一种数学上分而自治的思想 将原问题分解...

  • 递归思想

    递归思想关注的是与当前步骤有关的上一步和下一步的关系,它不关注整体。 如何发现规律? 观察逆推重复 递归算法总是给...

  • 递归思想

    递归的含义: 就是一个函数内部再调用该函数本身的一种情形,这是语法形式上的。 具体场景是: 如果要解决的“最终问题...

  • 递归思想

    递归就是在函数体内调用本函数一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当...

  • 递归思想

    1、概念 程序调用自身的编程技巧称为递归(recursion)。 递归做为一种算法在程序设计语言中广泛应用。 一个...

  • 链表算法之-反向打印单链表

    思想:递归

  • 二叉树算法之2-计算二叉树节点数

    算法思想:递归

  • 【python】递归思想和快速排序法

    一、递归思想 递归思想,其实就是自己调用自己。 上图中,我们写了个简单的递归函数,实现阶乘的算法;但程序会报错,显...

  • 总结

    主要思想摘自《漫谈递归:递归的思想》,同时也是本文的参考资料。 关于递归上面的链接讲的很多,也很详细,开辟这个...

  • js 总结六 7-18

    递归 递归技巧 假设递归函数已经写好 寻找递推关系 将递推关系的结构转换为递归体 将临界条件加入到递归体中递归思想...

网友评论

      本文标题:递归思想

      本文链接:https://www.haomeiwen.com/subject/qfmcyftx.html