数据结构--第七天

递归

-递归的概念

递归其实就是一种解决问题的办法,在C语言中:递归就是函数自己调用自己

-递归的思想

递归的思考方式就是把大事化小的过程

递归的递 就是递推 的意思,归 就是回归的意思

(递归是少量的代码完成大量的运算)

-递归的限制条件

1.递归存在限制条件当满足这个限制条件,便不再继续

2.每次递归调用之后越来越接近这个限制条件

-示例代码

复制代码
#include <stdio.h>

//求和
int sum(int n){
    //递归终止条件
	if(n==1){
		return 1;	
	}
	return sum(n-1)+n; 
}

//求菲波纳妾数列
int fib(int n){
    //递归终止条件
	if(n==1 || n==2){
		return 1;
	}
	return fib(n-1)+fib(n-2);
}

//猴子吃桃
int monkey(int n){
    //递归终止条件
	if(n==1){
		return 1;	
	}
	return 2*(monkey(n-1)+1);
}

int main(){
	int res_1=sum(100);
	printf("res=%d",res_1);
	int res_2=fib(6);
	printf("res=%d",res_2);
	int res_3=monkey(4);
	printf("res=%d",res_3);
	return 0;
}

-输出结果

相关推荐
Pniubi7 分钟前
力扣70爬楼梯
数据结构·算法·leetcode
雪落漂泊2 小时前
C++算法:双指针篇(下)
数据结构·c++·算法
学逆向的12 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
jeo陽16 小时前
04-循环实战:素数、最大公约数、级数求和与枚举法
c语言·开发语言·数据结构
slandarer17 小时前
MATLAB | 趣味编程——动态字符串甜甜圈和爱心
数据结构·matlab·趣味编程
UIU11418 小时前
P1003 [NOIP 2011 提高组] 铺地毯
数据结构·c++·算法
爱读书的小胖18 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
inrichtt18 小时前
第七课时:STM32时钟系统揭秘:从零理解时钟树
c语言·数据结构·stm32·单片机·嵌入式硬件
xxwl58519 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
Logic10121 小时前
C语言/数据结构二维数组题解:找出行列O个数均为偶数的格子——奇偶性预处理+二次遍历
c语言·数据结构·算法·二维数组·时间复杂度·动态内存分配·奇偶性