当前位置: 首页 > news >正文

【程序基础】递归法

算法思想

递归法,其实可以说是一种编程技巧,通过调用自身,防止无限循环而给予递归出口。

思考使用场景

1.一个问题可以拆分成子问题,每个子问题相互独立。
2.数据满足递推关系,或者数据结构满足,例如图,树,链表数组等。

简单的示例

示例1,比如做一次递归遍历,把字符串数组里面的元素逐一输出。

 void showStr(int len,int i,char* arr){if(arr == nullptr || i >= len){return;}showStr(len,i+1,arr);cout << arr[i] << endl;}

示例2,计算斐波那契数列,1、1、2、3、5、8、
可以知道f(n) = f(n - 1) + f(n - 2),这里可以满足把f(n)拆分成n个f(1)+f(2)切每个独立

 int fbnac(int n){if(n==1 || n==2){return 1;}return fbnac(n - 1) + fbnac(n - 2);}
http://www.lryc.cn/news/228174.html

相关文章:

  • AI 绘画 | Stable Diffusion WebUI的基本设置和插件扩展
  • 如何用自然语言 5 分钟构建个人知识库应用?我的 GPTs builder 尝试
  • rabbitmq启动异常解决
  • OpenGL_Learn08(坐标系统与3D空间)
  • github私有仓库开发,公开仓库发布版本
  • 绿色低碳 数字未来-辽宁省建筑电气2023年学术年会-安科瑞 蒋静
  • day55
  • 如何安装Node.js? 创建Vue脚手架
  • ASP.NETWeb开发(C#版)-day1-C#基础+实操
  • LGSVL Python API 使用
  • 详解数据仓库之拉链表(原理、设计以及在Hive中的实现)
  • 使用Nodejs搭建简单的web网页并实现公网访问
  • C++学习第三十七天----第十章--对象和类
  • TikTok影响力经济:解锁社交媒体的商业机遇
  • 燃气管网监测系统|全面保障燃气安全
  • 第三章:人工智能深度学习教程-基础神经网络(第六节-ML深度学习层列表)
  • 福建科立讯通信 指挥调度管理平台RCE漏洞复现
  • 性能测试:Jenkins+Ant+Jmeter自动化框架的搭建方法
  • 【开源项目】snakeflow流程引擎研究
  • 11.10 知识总结(数据的增删改查、如何创建表关系、Django框架的请求生命周期流程图)
  • AI脑控机器人应用前景如何?
  • Apache和Nginx实现虚拟主机的3种方式
  • 【DP】背包问题全解
  • 04 jenkins中使用各种变量(Powershell、cmd)
  • 2023年云计算的发展趋势
  • 工作十年+的测试应该具备什么能力?
  • 区块链链游合约系统开发项目模式技术方案
  • 业务出海之服务器探秘
  • 飞天使-django创建一个初始项目过程
  • 【工具插件类教学】全局积雪系统和雪痕迹显示(移动痕迹)