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

福州市住房和城乡建设部网站计算机应用主要学什么

福州市住房和城乡建设部网站,计算机应用主要学什么,网站线框,做网站好Fibonacci数列是一个在数学和计算机科学中非常著名的数列。这个数列以其特殊的递推关系而闻名#xff0c;也因其在自然界中的多次出现而引人注目。 定义#xff1a; Fibonacci数列的定义如下#xff1a; F(0) 0F(1) 1对于 n 1#xff0c;F(n) F(n-1) F(n-2) 也就…Fibonacci数列是一个在数学和计算机科学中非常著名的数列。这个数列以其特殊的递推关系而闻名也因其在自然界中的多次出现而引人注目。 定义 Fibonacci数列的定义如下 F(0) 0F(1) 1对于 n 1F(n) F(n-1) F(n-2) 也就是说从第三个数开始每个数都是前两个数的和。数列开始 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...问题描述 Fibonacci问题通常指的是计算数列中的第n个数。解决方法 在代码中我展示了三种常见的解决方法 a. 递归方法fibonacciRecursive 直接按定义实现简单但效率低。时间复杂度O(2^n)空间复杂度O(n)递归栈深度。 b. 动态规划方法fibonacciDP 使用数组存储中间结果避免重复计算。时间复杂度O(n)空间复杂度O(n)。 c. 优化空间的方法fibonacciOptimized 只保存最近的两个数进一步优化空间使用。时间复杂度O(n)空间复杂度O(1)。应用 Fibonacci数列在自然界和计算机科学中有许多应用 描述某些植物的生长模式如向日葵的种子排列。在算法分析中用于描述某些算法的时间复杂度。在金融市场分析中用作技术指标。有趣的性质 相邻Fibonacci数的比值趋近于黄金比例约1.618。Fibonacci数列与Pascal三角形有密切关系。 Fibonacci问题是学习递归、动态规划和算法优化的好例子。它看似简单但涉及了很多重要的编程和数学概念。 #include iostream #include vectorclass FibonacciSolver { public:// 递归方法计算Fibonacci数int fibonacciRecursive(int n) {if (n 1) return n;return fibonacciRecursive(n - 1) fibonacciRecursive(n - 2);}// 动态规划方法计算Fibonacci数int fibonacciDP(int n) {if (n 1) return n;std::vectorint dp(n 1, 0);dp[1] 1;for (int i 2; i n; i) {dp[i] dp[i - 1] dp[i - 2];}return dp[n];}// 优化空间的动态规划方法int fibonacciOptimized(int n) {if (n 1) return n;int prev 0, curr 1;for (int i 2; i n; i) {int next prev curr;prev curr;curr next;}return curr;} };int main() {FibonacciSolver solver;int n 10; // 计算第10个Fibonacci数std::cout 第 n 个Fibonacci数递归方法: solver.fibonacciRecursive(n) std::endl;std::cout 第 n 个Fibonacci数动态规划方法: solver.fibonacciDP(n) std::endl;std::cout 第 n 个Fibonacci数优化方法: solver.fibonacciOptimized(n) std::endl;return 0; } 详细解释每种方法计算F(5)的过程 1.递归方法 这个方法会显示递归调用的过程 计算 F(5) 计算 F(4) 计算 F(3) 计算 F(2) 计算 F(1) 计算 F(0) 计算 F(1) 计算 F(2) 计算 F(1) 计算 F(0) 计算 F(3) 计算 F(2) 计算 F(1) 计算 F(0) 计算 F(1) 结果: 5 2.动态规划方法 这个方法会显示DP数组如何被填充 DP数组初始化: 0 1 0 0 0 0  计算 F(2): 1, DP数组: 0 1 1 0 0 0  计算 F(3): 2, DP数组: 0 1 1 2 0 0  计算 F(4): 3, DP数组: 0 1 1 2 3 0  计算 F(5): 5, DP数组: 0 1 1 2 3 5  结果: 5 每个Fibonacci数只被计算一次并存储在数组中。 3.优化空间的方法 这个方法只保存最近的两个数 初始状态: prev 0, curr 1 计算 F(2): 1 (prev 0, curr 1) 计算 F(3): 2 (prev 1, curr 1) 计算 F(4): 3 (prev 1, curr 2) 计算 F(5): 5 (prev 2, curr 3) 结果: 5 每一步只保存和更新两个变量大大减少了空间使用。 递归方法简单直观但有大量重复计算效率最低。动态规划方法避免了重复计算效率高但需要O(n)的额外空间。优化空间的方法在保持高效的同时将空间复杂度降到了O(1)。
http://www.w-s-a.com/news/789685/

相关文章:

  • 南京建设网站公司网站游戏怎么制作
  • 成都建站程序苏州市建设局招标网站首页
  • 自助建网站市场公司起名大全2020最新版的
  • dede网站模板北京 网站开发 大兴
  • 网站优化师招聘建设牌安全带官方网站
  • 南京网站建设网站做视频网站用什么格式
  • 普陀做网站价格wordpress接入qq互联
  • 网站2级页面怎么做杭州哪家做外贸网站
  • 做了静态网站怎么显示在互联网上营销策划与运营方案
  • 常见的英文网站国内军事新闻大事件
  • 傻瓜式做网站程序微信怎么开公众号
  • c2c电商网站wordpress仿36kr主题
  • 网站建设公司开发免费图纸网站
  • 一个网站页面设计多少钱做预算查价格的网站是哪个
  • 鳌江哪里有做网站百度短链接在线生成
  • 有没有什么做水利资料的网站杭州建设信用平台
  • 电子商务网站建设及推广方案论文wordpress无法显示文章
  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站
  • 为什么公司网站打开很慢wordpress汉化插件
  • 用dw做教学网站做网站用什么配置笔记本