数据结构--第七天

递归

-递归的概念

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

-输出结果

相关推荐
时光の尘4 小时前
C语言菜鸟入门·关键字·int的用法
c语言·开发语言·数据结构·c++·单片机·链表·c
sjsjs114 小时前
【数据结构-表达式解析】【hard】力扣224. 基本计算器
数据结构·算法·leetcode
手握风云-4 小时前
数据结构(Java版)第一期:时间复杂度和空间复杂度
java·数据结构
坊钰4 小时前
【Java 数据结构】时间和空间复杂度
java·开发语言·数据结构·学习·算法
严文文-Chris4 小时前
【数据结构基本概念】
数据结构
飞升不如收破烂~4 小时前
Redis的String类型和Java中的String类在底层数据结构上有一些异同点
java·数据结构·redis
武昌库里写JAVA4 小时前
一文读懂Redis6的--bigkeys选项源码以及redis-bigkey-online项目介绍
c语言·开发语言·数据结构·算法·二维数组
m0_547486667 小时前
数据结构试选择题及答案1
数据结构
知识鱼丸7 小时前
【数据结构】一图介绍python数据结构
数据结构·python
怀旧6668 小时前
Java List 集合
java·数据结构·后端·list·个人开发