数据结构--第七天

递归

-递归的概念

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

-输出结果

相关推荐
legend050709ComeON5 小时前
常见面试题-leetcode
数据结构·算法·leetcode
Lsk_Smion5 小时前
力扣实训 _ [207].课程表/图论
数据结构·leetcode·图论
孬甭_5 小时前
深入剖析快速排序:原理、实现与性能优化
数据结构·算法·排序算法
San813_LDD5 小时前
[数据结构]共享栈与双端队列:算法思想分析及C语言实现
java·开发语言·数据结构
nice_lcj5206 小时前
排序(2)-选择排序专题——简单选择排序与堆排序的结构优化
数据结构·算法·排序算法
nice_lcj5206 小时前
排序(4)-归并排序专题——归并排序的分治美学
java·数据结构·算法·排序算法
无忧.芙桃6 小时前
数据结构之栈
c语言·开发语言·数据结构
nice_lcj5206 小时前
排序(3)-第三篇:交换排序专题——从冒泡排序到快速排序的效率飞跃
java·数据结构·算法·排序算法
ywl4708120876 小时前
数据结构之链表反转算法
数据结构·算法·链表
Brilliantwxx7 小时前
【算法从零到千】【16-23】 二分算法
数据结构·算法