我是靠谱客的博主 个性彩虹,最近开发中收集的这篇文章主要介绍C#算法—递归详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

         递归是很方便的一种算法,下面对递归算法进行详细解答。

    1.函数递归:递归的本质就是自己调用自己。

    2.递归的定义:递归本身就是一个循环。

    3.递归的思想:越来越接近已知值。

    4.递归的总结:1)通过自己调用自己吧复杂的逻辑简单化,可以求得最终结果;

                  2)递归要有开始条件,也要有一个结束条件;

                  3)有一种递归的逻辑运算。

    看到递归的定义可能感觉定义中并没有完全的解释清楚什么是递归?递归怎么用?接下来进入实战,利用简单的例子来深入了解递归的奥妙。

    实战内容是斐波那契数列,斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584........;斐波那契数列的特点就是从第三项开始,每一项都等于前两项之和。我们用递归实现斐波那契数列,代码如下:

       递归的思想就是这样,反向理解就可以理解为为了求第n项的数字,我们要先求第n-1项和第n-2项,然后第要求第n-1项又要求第n-2项和第n-3项,这样依次类推我们一定会求到第一项和第二项,而第一项和第二项的答案我们是知道的,所以这时就可以回推回去,最终求出答案。

       举例说明:例如我们要求斐波那契数列的第5项,第5项等于第4项加第3项,而第4项和第3项我们也是未知的,所以我们的问题转化为求第4项加第3项,再继续求解,我们的问题中第3项等于第2项加第1项,第1、2项我们知道结果,从而把答案返回到第3项 ,求出第3项为2,同理我们可求第4项为3,我们再返回上一层,第5项等于第4项加第3项,从而得出第5项的结果为5.

       斐波那契数列的根本思想就是反复调用自身,使得我们越来越接近已知答案,当我们获取到已知答案的那一刻,函数瞬间回推,推出我们想要求出的结果。

       我们可以在举一个例子,我们求10!,阶乘同样可以利用递归实现,代码如下:

       

        记住递归的思想,递归就很容易理解了。

最后

以上就是个性彩虹为你收集整理的C#算法—递归详解的全部内容,希望文章能够帮你解决C#算法—递归详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部