数据结构--第七天

递归

-递归的概念

递归其实就是一种解决问题的办法,在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;
}

-输出结果

相关推荐
欧米欧6 小时前
C++进阶数据结构之搜索二叉树
开发语言·数据结构·c++
小江的记录本6 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
Trouvaille ~7 小时前
【Redis篇】初识 Redis:特性、应用场景与版本演进
数据结构·数据库·redis·分布式·缓存·中间件·持久化
向日的葵0068 小时前
从IO视角深度对比:BST、红黑树、B树、B+树
数据结构·b树
小羊在睡觉9 小时前
力扣239. 滑动窗口最大值
数据结构·后端·算法·leetcode·go
我星期八休息9 小时前
Linux系统编程—库制作与原理
linux·运维·服务器·数据结构·人工智能·python·散列表
LuminousCPP10 小时前
数据结构 - 线性表第三篇:基于顺序表实现 C 语言通讯录(基础功能篇)
c语言·数据结构·经验分享·笔记·算法
开压路机11 小时前
数据结构:图
数据结构·算法
小挪号底迪滴12 小时前
研发出海实战:多语言字符渲染陷阱、异构文件解析与跨国协作指南
css·数据结构·ai
zero.cyx13 小时前
软件设计师(3)数据结构
数据结构