数据结构--第七天

news2024/9/23 5:33:58

递归

        -递归的概念

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

   -输出结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1996843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(5.5_2)——并查集

逻辑结构——数据元素之间的逻辑关系 并查集&#xff1a; 并查集&#xff08;Union-Find&#xff09;是一种树型的数据结构&#xff0c;用于处理一些不交集的合并及查询问题。它支持两种操作&#xff1a; 用双亲表示存储并查集 首先将所有根节点数组值设为-1&#xff0c;其…

[Android] [解决]Bottom Navigation Views Activity工程带来的fragment底部遮盖的问题

创建了Bottom Navigation Views Activity之后&#xff0c;在fragment_home.xml&#xff0c;加了一个RecyclerView&#xff0c; 后来添加了item之后发现底部会被盖住一部分。 解决&#xff1a;在layout里面加两句&#xff1a; android:paddingBottom"?attr/actionBarSize&…

C#获取Network的相关信息

1&#xff0c;获取网络的通断。 //方法1&#xff1a;无效果&#xff0c;并不能反映当前网络通断 bool availableSystem.Windows.Forms.SystemInformation.Network//方法2&#xff1a;通过VB获取网络状态&#xff0c;可反映当前网络通断 Microsoft.VisualBasic.Devices.Network…

Qt QML 使用QPainterPath绘制弧形曲线和弧形文本

Qt并没有相关api直接绘制弧形文字&#xff0c;但提供了曲线绘制相关类&#xff0c;所以只能另辟蹊径&#xff0c;使用QPainterPath先生成曲线&#xff0c;然后通过曲线上的点来定位每个文字并draw出来。 QML具体做法为从QQuickPaintedItem继承&#xff0c;在派生类中实现paint…

Linux 系统框架分析(一)

一、linux内核结构框图 对内核结构框图有个总体的把握&#xff0c;有助于理解为什么驱动要这样写&#xff0c;为什么写的应用程序所用的C库接口能够产生这么多的事情。 框图可以看出来&#xff0c;linux系统&#xff0c;包括五个系统 一、Linux内核结构介绍 Linux 内核是操作…

【机器学习基础】线性回归

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈Python机器学习 ⌋ ⌋ ⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;…

Flutter 生成图表(fl_chart)

Flutter 图表 使用fl_chart 先看最终效果 实现抖音’使用管理助手’效果 需求分析&#xff1a;统计每个用户近7天每天的使用时长&#xff08;从当天往后推导&#xff0c;假设今天周二&#xff09;&#xff0c;单位为分钟或者小时&#xff0c;根据平均时长决定 技术选型&…

Python基于TensorFlow实现卷积神经网络-双向长短时记忆循环神经网络回归模型(CNN-BiLSTM回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 随着深度学习技术的发展&#xff0c;尤其是卷积神经网络&#xff08;Convolutional Neural Networks, …

Android Studio 连接手机进行调试

总所周知&#xff0c;Android Studio里的虚拟手机下载后又大又难用。不如直接连手机用。本篇文章主要内容为Android Studio怎么连接手机进行程序调试。 1. 在AndroidSDK中下载google USB Driver: 2. 连接手机&#xff1a; 进入电脑设备管理器界面。并点开便携设备&#xff0c…

wakanda:1靶机渗透测试

一、靶机下载地址 https://download.vulnhub.com/wakanda/wakanda-1.ova 二、信息收集 1、主机发现 # 使用命令 nmap 192.168.222.0/24 -sn | grep -B 2 "08:00:27:ED:98:E1" 2、端口扫描 # 使用命令 nmap 192.168.222.149 -p- -sV 3、指纹识别 # 使用命令 wha…

C++相关概念和易错语法(25)(列表初始化、initializer_list)

列表初始化是C11中新增的初始化规则&#xff0c;大大增强了初始化的灵活性&#xff0c;在本篇文章中&#xff0c;我会详细讲解列表初始化的各种使用场景。 1.从C语言初始化语法开始改变——不带赋值号的初始化方式 列表初始化可以说是将C语言的一些初始化语法进行放大的结果。…

c++习题18-计算鞍点

目录 一&#xff0c;题目 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;题目 给定一个55的矩阵&#xff0c;每行只有一个最大值&#xff0c;每列只有一个最小值&#xff0c;寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素&#xff0c;它是所在行的最大值&#x…

海外短剧小程序 ,竖屏会员付费看剧系统搭建paypal,stripe对接支付功能

目录 前言&#xff1a; 一、系统功能 二、系统常见问题 总结&#xff1a; 前言&#xff1a; 在全球化的今天&#xff0c;短剧作为一种新兴的内容形式&#xff0c;正迅速赢得国际观众的心。尤其是海外市场的短剧推广&#xff0c;正成为内容创作者和营销者的新宠。本文将深入…

AWS云服务器选择最佳区域

2024年&#xff0c;随着全球云计算的持续发展和AWS在全球不断扩展的数据中心网络&#xff0c;选择合适的AWS云服务器区域成为了企业和开发者需要认真考虑的问题。九河云告诉你在做出选择之前&#xff0c;需要考虑以哪些关键因素&#xff1a; 地理位置和用户分布 选择AWS云服务…

06:【stm32】OLED模块的简单使用

OLED模块的简单使用 OLED简单的使用 OLED简单的使用 OLED驱动函数是使用B站UP江科大的。我们直接调用即可&#xff0c;是使用软件模拟I2C协议进行通信的。具体的I2C协议可查看上官嵌入式开发中的C51单片机开发。 驱动函数文件&#xff1a;通过百度网盘分享的文件&#xff1a;…

ShardingSphere之ShardingProxy集群部署

文章目录 介绍使用Zookeeper进行集群部署统一ShardingJDBC和ShardingProxy配置通过Zookeeper注册中心同步配置直接使用ShardingProxy提供的JDBC驱动读取配置文件 介绍 开发者手册 在conf/server.yaml配置文件中有下面这一段配置&#xff0c;就是关于集群部署的 mode: # typ…

JAVA 封装一个工具类,将实例的里面的空值设为对应的默认值

JAVA 封装一个工具类&#xff0c;将实例的里面的空值设为对应的默认值&#xff0c;比喻字符串类型就设为默认 "", Integer就设为0 示例代码&#xff1a; protected static void setDefaults(Object obj) {Class<?> clazz obj.getClass();Field[] fields …

如何在FreeRtos工程中添加驱动调用

前言&#xff1a;本篇笔记学习的是韦东山老师的教程&#xff0c;连接放在最后。 上篇教程图文讲解了&#xff0c;如何使用STM32CubleMX&#xff0c;进行移植FreeRtos工程&#xff0c;如果没有使用这个软件则需要自己去手动进行移植操作&#xff0c;本篇图文教程是添加驱动&…

LeetCode.3132.找出与数组相加的整数II

题目描述&#xff1a; 给你两个整数数组 nums1 和 nums2。 从 nums1 中移除两个元素&#xff0c;并且所有其他元素都与变量 x 所表示的整数相加。如果 x 为负数&#xff0c;则表现为元素值的减少。 执行上述操作后&#xff0c;nums1 和 nums2 相等 。当两个数组中包含相同…

【探索数据结构与算法】使用单链表实现队列

目录 一. 队列的定义 二.队列的结构定义 单个元素的结构定义 队列的结构定义 三.队列的接口实现 1.初始化 2.销毁 3.入队列&#xff08;队尾插入&#xff09; 4.出队列&#xff08;队头删除&#xff09; 5.获取队首元素 6.获取队尾元素 7.获取队列元素个数 …