星空网 > 软件开发 > ASP.net

C#递归

什么是递归?

 
先看语言例子
 
    从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’”

一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓志铭,让未来的狗可以看到:“一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓志铭,让未来的狗可以看到:‘一只狗来到厨房,偷走一小块面包。厨子举起杓子,把那只狗打死了。于是所有的狗都跑来了,给那只狗掘了一个坟墓,还在墓碑上刻了墓志铭,让未来的狗可以看到……’”

 看到了吧,不断的循环重复。

 再来看数学例子,




 斐波那契数列是典型的递归案例:

  F0=0; F=1; FN= Fn-1+Fn-2

  0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……

  这里需要注意 0不是第一项,而是第0项

 

  再来看下编程思想

 我们在编程语言里面可以看作是方法调用自己,不断的调用。直至有某个条件来终止,则停止调用。

 

 上代码

namespace 递归算法{  class Program  {    public static void Main(string[] args)    {       //输出1,2,3,4,8,13,21,34,55,89            //屌丝算法              int[] countNumber=new int[10];                    for(int i=0;i<countNumber.Length;i++)       {         if(i==0)         {           countNumber[0]=1;         }                 else if(i==1)         {           countNumber[1]=2;         }                 if(i>=2)         {         countNumber[i]=countNumber[i-1]+countNumber[i-2];         }       }             foreach(var Num in countNumber)       {         Console.Write(Num+" ");       }                    Console.WriteLine("\n------------- 我是分割线 --------------- ");             //文艺算法,递归       int[] countNumber2=new int[10];       for(int i=0;i<countNumber2.Length;i++)       {         countNumber2[i]=DiGui(i);       }       foreach(var Num2 in countNumber2)       {         Console.Write(Num2  +" ");       }       Console.ReadKey();    }        public static int DiGui(int j)    {      int s;      if(j==0||j==1)      {        s=j+1;      }      else      {        s=DiGui(j-1)+DiGui(j-2);  //调用方法本身      }            return s;    }  }}

传送门:递归经典算法

传送门:递归算法为什么那么慢?

 










原标题:C#递归

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

海外广告推广策略:https://www.goluckyvip.com/tag/33344.html
海外广告推广方式:https://www.goluckyvip.com/tag/33345.html
海外广告推广费用:https://www.goluckyvip.com/tag/33346.html
海外广告推广渠道:https://www.goluckyvip.com/tag/33348.html
海外国际仓:https://www.goluckyvip.com/tag/33349.html
行业见解:https://www.goluckyvip.com/tag/3335.html
37号文今后是否会更新?一文详解关键信息 :https://www.kjdsnews.com/a/1836441.html
探讨内地人开设香港账户的可行性 :https://www.kjdsnews.com/a/1836442.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流