数据结构--第七天

递归

-递归的概念

递归其实就是一种解决问题的办法,在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 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
如此这般英俊7 小时前
手搓Claude Code-第六章 subagent
数据结构·人工智能·python·语言模型·自然语言处理
Tairitsu_H8 小时前
[LC优选算法#17] 链表 | 合并 K 个升序链表 | K个⼀组翻转链表
数据结构·算法·链表
zwenqiyu11 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
东华万里11 小时前
第32篇 数据结构入门 单链表的增删查改实现
数据结构·链表
OOJO14 小时前
哈希表实现
数据结构·哈希算法·散列表
剑挑星河月16 小时前
234. 回文链表
java·数据结构·算法·leetcode·链表
六bring个六16 小时前
链表学习(常规链表)
数据结构·学习·链表
tachibana21 天前
hot100 回文链表(234)
java·网络·数据结构·leetcode·链表
aaaameliaaa1 天前
进制练习题【找出只出现一次的数字、交换两个变量(不创建临时变量)、统计二进制中1的个数、打印整数二进制的奇数位和偶数位、求两个数二进制中不同位的个数】
c语言·数据结构·笔记·算法