递归是什么
递归可以实现分治这种算法,就是把一个复杂的大问题,分解成若干个相同的小分问题,直到问题全部解决。
递归案例
斐波那契数列
#include<stdio.h>
int get_fibonacci(int number)
{
//第一个和第二个斐波那契数列值为1
if( 1==number || 2==number )
{
return 1;
}
//第三项开始的斐波那契数列是前2项的和
else
{
return get_fibonacci(number-1)+get_fibonacci(number-2);
}
}
int main()
{
int n=0;
printf("请输入要查找的第n个斐波那契数列的值:");
scanf("%d",&n);
printf("%d",get_fibonacci(n

本文介绍了递归的概念,通过斐波那契数列和汉诺塔问题展示了递归的运用。在汉诺塔问题中,详细阐述了递归步骤,并提及0-9全排列问题的类似解决策略。同时,文章提到了递归的特点,指出递归虽便于问题分解,但因其内存消耗大、速度慢,建议在可能的情况下优先选择循环。
最低0.47元/天 解锁文章
803

被折叠的 条评论
为什么被折叠?



