欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#递归理解

程序员文章站 2022-04-24 22:43:51
什么是递归函数? 任何一个方法既可以调用其他方法又可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或者递归方法! 说白了,就是调用自己。 通常递归有两个特点: 1.递归方法一直会调用自己直到某些条件满足,也就是说一定要有出口; 2.递归方法会有一些参数,而它会把这些新的参数值传递给自己;(自 ......

什么是递归函数?

任何一个方法既可以调用其他方法又可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或者递归方法!

说白了,就是调用自己。

通常递归有两个特点:    

1.递归方法一直会调用自己直到某些条件满足,也就是说一定要有出口;

2.递归方法会有一些参数,而它会把这些新的参数值传递给自己;(自己调自己);

个人理解:

1,需要设定一个边界,也就是什么时间结束。

2,需要递归的逻辑,也就是递归的公式

 

举个例子:

1.阶乘

阶乘(!)是小于某个数的所有正整数的乘积;

f(n)=n*(n-1)

首先,我们先确认边界是什么?

其次,我们要知道逻辑是什么?

边界:当n=1时,他的阶乘就是1,也就是结束的时候

逻辑:上面其实已经给出来了 就是f(n)=n*(n-1)

好,那我们现在用程序来实现

c#递归理解

 

2.(fibonacci)斐波拉切数列:

fibonacci数列是按以下顺序排列的数字:

1,1,2,3,5,8,13,21,34,55....

我们不难发现数列的排列规律是:后一个数加上前一个数,以此类推;

然后我们来确认2个点

1,边界:你可以发现 当n == 0 n ==1 时就可以触发边界

2,逻辑:不难看出  fn=f(n-1)+f(n-2);

下面是计算fabonacci数列的一种实现方法

c#递归理解

总结:方法实现体内再次调用方法本身的本质是多个方法的简写;

   它既可以调用其他方法,又可以调用自身.

   递归一定要有出口;