动态规划算法求解斐波那契数列


状态:dp数组,存储已经求解的子问题的最优解

递归版本的动态规划算法

//参数n表示斐波那契数列中数字的个数。
//返回相应个数的斐波那契数列数字的值。
int fabnacci(int n, int dp[])
{if (dp[n] > 0) { //表示:子问题n之前被求解过了return dp[n];//直接返回解,提高算法的效率}if (n == 1 || n == 2) {dp[n] = 1;return 1;}else {dp[n] = fabnacci(n - 1, dp) + fabnacci(n - 2, dp);return dp[n] ;}
}
int main()
{//  1 1 2 3 5int n = 10;    int *dp = new int[n + 1]();int val = fabnacci(n, dp);cout << val << endl;return 0;
}

非递归版本的动态规划算法

#include <iostream>
#include <algorithm>
using namespace std;int main()
{const int n = 10;int dp[n + 1] = {0};dp[1] = dp[2] = 1;for (int i = 3; i <= n; ++i) {dp[i] = dp[i - 1] + dp[i - 2];}cout << dp[n] << endl;return 0;
}

427-动态规划算法-斐波那契数列相关推荐

  1. Java数据结构与算法---斐波那契数列Fibonacci

    Java数据结构与算法-斐波那契数列Fibonacci 原理都很简单,直接上代码: package cn.m_fibonacci;public class Fibonacci {public stat ...

  2. 动态规划实现斐波那契数列求解

    int fibonacciDP1(int n) { // 动态规划不使用数组int a = 0;int b = 1;int sum;int i;if (n == 0)return 0;if (n == ...

  3. 【README2】动态规划之斐波那契数列说明重叠子问题如何解决

    接上文:[README1]动态规划之解题思路 文章目录 斐波那契数列讲解--解决重叠子问题 (1)暴力递归 (2)带有备忘录的递归解法 (3)自底向上--dp数组解法 (4)总结:状态转移方程 (5) ...

  4. 动态规划:斐波那契数列里面的东西?

    斐波那契数列 我想每个人都会写斐波那契数列吧!! 斐波那契数列的定义 f(0) = 1,f(1) = 1,f(n) = f(n-1) + f(n-2) 基于递归的方式实现,讲到递归都会用到: def ...

  5. 最优化算法-斐波那契数列搜索

    斐波那契数列搜索,参考Edwin<最优化导论>第四版7.3章节,算法采用go语言实现. /****************************************** FileNa ...

  6. Python|动态规划问题--斐波那契数列

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 斐波那契数列 斐波 ...

  7. 动态规划Ⅰ:斐波那契数列

    动态规划题目类型 & 做题思路总览:动态规划解题套路 & 题型总结 & 思路讲解 文章目录 一.斐波那契数列 1. 爬楼梯问题 2. 打家劫舍系列 3. 信件错排 4. 母牛生 ...

  8. 趣学算法--斐波那契数列

    14天阅读挑战赛 努力是为了不平庸~ 目录 1.神奇的兔子数列 1.1问题分析 1.2斐波那契数列 1.3算法设计 1.3.1递归代码 1.3.2递归的改进,O(n)的代码 1.3.3时间复杂度为O( ...

  9. LeetCode——动态规划:斐波那契数列

    斐波那契数列 目录 爬楼梯 强盗抢劫 强盗在唤环形街区抢劫 信件错排 注:具体解析请点击链接进入LeetCode题解区. 1. 爬楼梯 https://leetcode-cn.com/problems ...

最新文章

  1. 第一章:点云中的滤波问题---Filters
  2. centos7上安装配置tomcat8.5
  3. 5G NR 频率 带宽 栅格
  4. 浅析Java的“克隆”方法[zt]
  5. 为何Transformer在计算机视觉中如此受欢迎
  6. Oracle Share Pool工作原理
  7. RHCE实验环境虚拟机下载及注意事项
  8. 先进软件开发技术与工具
  9. Ubuntu16.04 微信网页版安装
  10. 游戏开发中的数学基础
  11. win7家庭版升级win7旗舰版
  12. 这款必应出品的壁纸软件也太棒了
  13. java旅游管理面试,旅游管理面试题目
  14. html语言怎么换下一行,表格中打字怎么换到下一行
  15. Go : constant shifts恒定位移旋转(附完整源码)
  16. mkdir cd 创建并进入文件夹,创建并进入目录,只写一遍目录名, `$_`获取最后一个参数, 笔记221108
  17. 【真题分享】2021京东春招java开发面试
  18. 使用searx搭建自己的搜索引擎
  19. 转载海科SEO-探秘qq空间seo设置
  20. 面试之其他面试题归类

热门文章

  1. OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”
  2. 计算机新应用外文翻译,计算机 外文翻译 外文文献 英文文献及译文一种新的网络应用程序开发框架MVC...
  3. 使用GPS坐标查询国家以及城市名称,reverse_geocoder包用法
  4. Person Mission Statement
  5. 激光点云3D目标检测算法之PointPillars
  6. 网络认证小结——你有网络身份证吗?
  7. 高通android 7.0彩信发送过程中使用到的google pdu
  8. 项目管理课程:从初学者到项目经理
  9. Linux中的sudoers没有root ALL=(ALL) ALL这一行
  10. xcodebuild和xcrun实现自动打包iOS应用程序