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

零基础网站建设书籍南京高端网站建设

零基础网站建设书籍,南京高端网站建设,wordpress 微官网主题下载失败,做网站的那些高清图上哪里找1. 什么是斐波那契数列#xff1a; 之前的例子是每个递归函数只包含一个自身的调用#xff0c;这称之为 single recursion 如果每个递归函数例包含多个自身调用#xff0c;称之为 multi recursion 递推关系 下面的表格列出了数列的前几项 F0F1F2F3F4F5F6F7F8F9F10F11F12…1. 什么是斐波那契数列 之前的例子是每个递归函数只包含一个自身的调用这称之为 single recursion 如果每个递归函数例包含多个自身调用称之为 multi recursion 递推关系 下面的表格列出了数列的前几项 F0F1F2F3F4F5F6F7F8F9F10F11F12F1301123581321345589144233 多路递归斐波那契代码实现1 package com.nami.algorithm.study.day07;/*** beyond u self and trust u self.** Author: lbc* Date: 2023-09-06 9:29* email: 594599620qq.com* Description: keep coding*/ public class Fibonacci {/*** 出现问题的计算 n 88 根本算不出来。多路递归一直在循环里面了。出不来 --* param n* return*/public static int calculate(int n) {if (n 0) {return 0;}if (n 1) {return 1;}int f1 calculate(n - 1);int f2 calculate(n - 2);return f1 f2;}public static void main(String[] args) {// 时间复杂度 2*f(n1) -1// E(1.618N次方)System.out.println(calculate(88));}}非递归实现2 --- LeetCode 70. 爬楼梯 计算爬楼梯共计多少种方法可达_不努力就种地~的博客-CSDN博客 之前写的爬楼梯解决方案 public static int climbStairs(int n) {int[] dp new int[n 1];dp[0] 1;dp[1] 1;for(int i 2; i n; i) {dp[i] dp[i - 1] dp[i - 2];}return dp[n];} 这种方法直接用数组去存储前面计算的值不用重复计算。没有出现上面n88出现的计算缓慢问题 递归优化方案 使用数组存储之前计算的数据减少计算次数。妙哉 package com.nami.algorithm.study.day07;import java.util.Arrays;/*** beyond u self and trust u self.** Author: lbc* Date: 2023-09-06 9:29* email: 594599620qq.com* Description: keep coding*/ public class FastFibonacci {/*** 出现问题的计算 n 100000* 出现异常 StackOverflowError* 方法层级太深会导致栈溢出** param n* return*/public static int calculate(int n) {// 初始化缓存// 记忆法// 空间换时间int[] cache new int[n 1];// 填充-1 标识未该值为计算Arrays.fill(cache, -1);cache[0] 0;cache[1] 1;return fibonacci(n, cache);}/*** 时间复杂度 O(n)* 增加额外空间成本** param n* param cache* return*/private static int fibonacci(int n, int[] cache) {if (cache[n] ! -1) {return cache[n];}int f1 fibonacci(n - 1, cache);int f2 fibonacci(n - 2, cache);cache[n] f1 f2;return cache[n];}public static void main(String[] args) {// n88也有问题出现-值// -2092787285System.out.println(calculate(88));}}使用数组进行优化也有一个问题数组只有n-1, n-2两个值有用。对于计算之后存储前面n-3的值没有了意义   优化2 尾递归: 尾递归防止栈溢出   只取n-1, n-2的值流转 package com.nami.algorithm.study.day07;/*** 尾递归 斐波那契数列* beyond u self and trust u self.** Author: lbc* Date: 2023-09-06 9:29* email: 594599620qq.com* Description: keep coding*/ public class TailRecFibonacci {/*** param n* return*/public static int calculate(int n) {return fibonacci(n, 0, 1);}private static int fibonacci(int n, int first, int second) {if (n 0) {return first;}if (n 1) {return second;}return fibonacci(n - 1, second, first second);}public static void main(String[] args) {// n47出现-值// -1323752223// 18 3631 1903 11 3490 3170// n 46 n45// int 最大值 21 4748 3647System.out.println(calculate(46));}}为什么斐波那契数列会出现负值 当n88时结果等于负数。排查发现当n46是正常的n47时前面两个值的相加已经超过了int最大值int.max_value 21 4748 3647 所以出现负数 如何根本上解决爆栈问题 递归转for or while循环解决问题。
http://wiki.neutronadmin.com/news/298282/

相关文章:

  • 到哪查找网站域名建设银行假网站
  • 南翔企业网站开发建设坪地网站建设
  • 网站多少个关键词医学ppt模板免费下载 素材
  • 网站开发简介销售网络平台建设
  • 网站建设链接演示微信商城有哪些第三方平台
  • 网站浮动qqwordpress 添加php
  • 安陆网站开发wechat wordpress
  • 做网站首页cdr徐州免费网站制作
  • 网站做跳转链接衡水做网站电话
  • 重庆做手机网站建设大都会app可以删记录吗
  • 巴中网站制作产品设计英文
  • 东莞网站建设周期产品网站建设公司哪家好
  • 怎么做网站劳务中介腾讯服务商平台
  • 佛山知名营销网站开发wordpress不能发文章
  • 沂源网站开发网站设计定制公司
  • 建设网站中期要做什么免费做商城网站
  • 网站建设优化价格微信网站开发流程图
  • 微网站建设方向网站开发需求清单
  • 淄博做网站建设58黄页网推广效果怎样
  • 网站开发营销型国家开发银行生源地助学贷款系统
  • 做网站过时了网站后台管理模板下载
  • 微信网站开发公司电话廊坊森德科技有限公司
  • 郑州做网站kuihuakeji腾讯与中国联通
  • 杭州专业做网站公司网站打开
  • 911制作网站如何进网站
  • 网站如何排名做新媒体应该关注什么网站
  • 广东贸易网站建设投资公司成立条件
  • 温州通业建设工程有限公司网站wordpress缩略图不清晰怎么办
  • 网站建设 58同城小程序发布流程怎么弄
  • 公司做网站应记入哪个会计科目商丘哪里做网站比较好