算法与数据结构之递推法

简介: 算法与数据结构之递推法

1.递推算法的思想:

利用已知的条件不断推导未知的信息。

2.递推算法的分类:

(1).顺推法
(2).逆推法

3.逆推算法的应用:

《斐波那契数列》

  • 问题:斐波那契数列又叫兔子数
    月数:1 2 3 4 5 6 7 8…
    对数:1 1 2 3 5 8 13 21…
  • (1).解决核心思想:
    将数字转化成一个公式模型
  • (2).递推公式模型:
    F ( 1 ) = F ( 2 ) = 1 F(1)=F(2)=1F(1=F(2)=1
    F ( n ) = F ( n − 1 ) + F ( n − 2 ) F(n)=F(n-1)+F(n-2)F(n)=F(n1)+F(n2)

4.代码示例:

首先头文件分别定义stdio.h引用库函数

其次#define NUM 13

int main()
{
int i;
int F[NUM] = { 1,1 };//保存兔子的初始数据
for (i = 2; i <NUM; i++)
{
  F[i] = F[i - 1]+F[i - 2];
}
for (i = 0; i < NUM; i++)
  printf("第%d月兔子总数:%d\n", i, F[i]);
return 0;
}

5.执行程序图:

目录
相关文章
|
2天前
|
机器学习/深度学习 存储 缓存
数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
文章主要介绍了排序算法的分类、时间复杂度的概念和计算方法,以及常见的时间复杂度级别,并简单提及了空间复杂度。
数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
|
2天前
|
搜索推荐 算法
数据结构与算法学习十四:常用排序算法总结和对比
关于常用排序算法的总结和对比,包括稳定性、内排序、外排序、时间复杂度和空间复杂度等术语的解释。
数据结构与算法学习十四:常用排序算法总结和对比
|
2天前
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
|
6天前
|
算法
基于最小二乘递推算法的系统参数辨识matlab仿真
该程序基于最小二乘递推(RLS)算法实现系统参数辨识,对参数a1、b1、a2、b2进行估计并计算误差及收敛曲线,对比不同信噪比下的估计误差。在MATLAB 2022a环境下运行,结果显示了四组误差曲线。RLS算法适用于实时、连续数据流中的动态参数辨识,通过递推方式快速调整参数估计,保持较低计算复杂度。
|
10天前
|
机器学习/深度学习 存储 算法
【初阶数据结构】算法效率大揭秘 | 时间与空间复杂度的深度剖析
【初阶数据结构】算法效率大揭秘 | 时间与空间复杂度的深度剖析
|
19天前
|
机器学习/深度学习 算法 Java
[算法与数据结构] 谈谈线性查找法~
该文章详细介绍了线性查找法的基本概念与实现方法,通过Java代码示例解释了如何在一个数组中查找特定元素,并分析了该算法的时间复杂度。
|
1天前
|
机器学习/深度学习 搜索推荐 算法
探索数据结构:初入算法之经典排序算法
探索数据结构:初入算法之经典排序算法
|
2天前
|
算法 Java 索引
数据结构与算法学习十五:常用查找算法介绍,线性排序、二分查找(折半查找)算法、差值查找算法、斐波那契(黄金分割法)查找算法
四种常用的查找算法:顺序查找、二分查找(折半查找)、插值查找和斐波那契查找,并提供了Java语言的实现代码和测试结果。
|
5天前
|
存储 算法 Java
数据结构和算法--分段树
数据结构和算法--分段树
9 0
|
8天前
|
算法
计科一二班算法数据结构实验9答案
计科一二班算法数据结构实验9答案
9 0