范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

08算法入门教程递归算法之斐波那契数列

  1. 前言
  本节内容是递归算法系列之一:斐波那契数列递归求解,主要介绍了斐波那契数列的定义,然后用递归的实现思想分析了一下斐波那契数列,最后给出了基于 Java 代码应用递归思想实现斐波那契数列的代码实现及简单讲解。 2. 什么是斐波那契数列?
  斐波那契数列(Fibonacci sequence),也称之为黄金分割数列,由意大利数学家列昂纳多・斐波那契(Leonardo Fibonacci)提出。斐波那契数列指的是这样的一个数列:1、1、2、3、5、8、13、21、34、……,这个数列从第 3 项开始,每一项都等于前面两项之和。在数学上,斐波那契数列可以被递推的方法定义如下:
  F (1)=1, F (2)=1,  F (n)= F (n - 1)+ F (n - 2)( n    3, n    N*)
  斐波那契数列是数学上面一个经典的例子,并且在日常生活中有很多应用,他还与黄金分割有着密不可分的联系,而且当 n 趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割值 0.618。 3. 用递归方法求解斐波那契数列
  在这一节中,我们就需要利用递归的思想去求解斐波那契数列,当给出一个斐波那契中第几项的数字,然后求解出对应的斐波那契数值。在之前,我们已经定义了递归算法的相关概念,并且明确了需要应用递归时候的三要素: 递归终止条件; 递归终止时候的处理方法; 递归中重复的逻辑提取,缩小问题规模。
  接下来,我们将利用递归的知识来解决斐波那契数列问题,明确在斐波那契数列求解问题中的递归三要素分别是什么。
  斐波那契数列的递归终止条件  显然易见,通过观察斐波那契数列的定义,我们很容易发现当 n=1 或者 n=2 时,是斐波那契数列的递归终止条件,这个时候可以给出斐波那契数列的具体值。
  斐波那契数列递归终止时候的处理方法  同样的,基于斐波那契数列的递推定义,当斐波那契数列达到终止条件 n=1 或者 n=2 时,我们也很容易发现对应  F (1)=1, F (2)=1,这就是斐波那契数列在递归终止时对应的取值。
  斐波那契数列的递归重复逻辑提取  按照斐波那契数列的数学定义, F (n)= F (n - 1)+ F (n - 2)( n    3, n    N*),即当  n    3 时,斐波那契数列中这一项的值等于前面两项的值之和,这样便可以将求解一个比较大的斐波那契数列转化为求解较小数值的斐波那契数列值,这里面有重复逻辑可以递归复用。
  例如,当我们求解斐波那契数列中的  F (5) 时,按照定义,我们有:
  F (5) =  F (4) +  F (3) // 递归分解 = (  F (3) +  F (2) ) + (  F (2)+ F (1) ) // 递归求解   = [ (  F (2)+ F (1) ) + 1 ] + ( 1+1 ) // 递归求解,遇到终止条件就求解   = [(1+1) +1 ]+(1+1) // 归并   = 3 + 2 // 归并   = 5 // 归并 4. 基于 Java 代码示例及实现讲解
  在说明斐波那契数列的递归描述之后,我们看看如何用 Java 代码来实现对斐波那契数列的计算。 public class Fibonacci {      public static void main(String[] args){         System.out.println(fibonacci(1));         System.out.println(fibonacci(2));         System.out.println(fibonacci(3));         System.out.println(fibonacci(4));         System.out.println(fibonacci(5));     }      //斐波那契数列数列的计算     private static int fibonacci(int n){         //如果是终止条件,按照要求返回终止条件对应结果         if( n==1 || n==2 ){             return 1;         }else {             //非终止条件,按照要求把大的问题拆分成小问题,调用自身函数递归处理             return fibonacci(n-1)+fibonacci(n-2);         }     }  }
  运行结果如下: 1 1 2 3 5
  代码中的第 4 行至第 8 行分别调用斐波那契数列计算函数,计算出斐波那契数列中对应 n=1,2,3,4,5 时斐波那契数列的取值,进行结果比较,判断斐波那契数列程序实现是否正确。代码中的第 12 行至第 20 行是斐波那契数列应用递归方法进行斐波那契数列的计算,按照递归的三要素进行计算处理。 5. 小结
  本节主要介绍了用递归思想求解斐波那契数列,在学完本节课程之后,我们了解到了什么是斐波那契数列,并且将递归算法在斐波那契数列中进行了实际应用,需要掌握斐波那契数列的递归求解方法,并自己可以实现相关的代码实现,并清楚里面的每一步逻辑。

游戏原神的宵宫争议是否很大?是否意味着米哈游角色设计的又一次翻车?没翻车,而是各种方面权衡的必然选择。首先要知道米哈游根本不是大厂,在崩坏出3撑场面前也曾一度面临倒闭,艰难度日。原神的全球性成功完全出乎mhy自己的意料,全公司真的应该给美术设计磕多模可选,支持米家!飞利浦智睿简约版28W吸顶灯体验说起吸顶灯,相信每个家庭都有吧,虽然不是多大的家电,但在生活中是离不了它的。笔者今年房子刚装修好,我是还差几个,选灯具可是费了好几天的功夫,考虑的方面也比较多,比如光源是否健康,伤Win10怎么使用命令清理广告弹窗?许多小合作伙伴经常遇到许多广告时使用Win10系统,非常影响我们的使用感,但我不知道如何清理Win10广告弹出窗口,然后让Xiaobang介绍Win10。清理弹出窗口广告命令。1。去年我妈误入了互联网金融传销平台,说出来也希望大家引以为戒网友投稿你好,想和你说一些事,因为我也没办法和身边的人说,也想看看大家的意见。我现在研究生在读,家庭条件不好,我爸爸现在在工地上做一些散活,我妈身体不好,也退休了,基本就在家待着休抖音电商上线消费者权益产品安心购,9大服务让售后无忧近日,抖音电商上线消费者权益产品安心购,推出正品保障七天无理由退货极速退款运费险上门取件等9项服务,为818新潮好物节保驾护航,让用户在购物的每个环节皆能安心,真正实现品质保障,售大长腿萌妹纸喜爱的笔记本到底长啥样?今天给大家推荐的这款产品就厉害了,光凭外观估计就得迷倒一大片,它就是雷神ZERO大黄蜂联名版,同时这也是刚刚完美落幕CJ2021雷神展台最亮眼的产品,凭借高颜值和高性能吸引了众多用带摄像头的冲牙器素诺C3Pro之前在去牙科医院检查的时候,补了几颗蛀牙。在医生的建议下,我购入了电动牙刷以及水牙线也就是所谓的冲牙器,来保持口腔的卫生与清洁。之前购入的冲牙器对于一个经常要外出的人来说实在是不太2021年中3000到9000轻薄全能办公本推荐,AMDintel平台详尽收录创作声明本文与各路厂商无任何利益相关,纯粹主观而客观地进行点评提出建议,一家之言,还请大家理性看待前言我之前已经写过不少笔记本电脑选购的文章,推荐过不少性价比颇高的轻薄办公本,热度马云没有跌落神坛,阿里被性侵弄个底朝天,智己咋办?怀念马云,呼吁马云重新出山的呼声愈来愈高。我们反复研读马云宣布的阿里文化及价值观,认为它仍然是与时俱进,富有前瞻性的产物。公司有很好的文化和价值观,固然重要。但是执行这些文化和价值任正非华为到该炸掉研发金字塔的时候了8月8日晚间,华为总裁办在心声社区公开发布了一篇5年前的文章华为到该炸掉研发金字塔的时候了,由任正非亲自签发。且任正非还做出了评语在技术工作的客气是毒品,直面的批评争论才是良药。如阿里涉嫌性侵员工王成文此前通过字节跳动一面,面试流程已终止IT之家8月9日消息今日有爆料称,阿里巴巴前员工王成文(花名曲一)曾到字节跳动公司进行面试,并通过一面。据华尔街见闻实时新闻消息,有疑似字节跳动官方账号回应该帖称这名候选人确实在我
清朗互联网用户帐号运营乱象专项整治行动公告(第三期)为落实国家网信办和北京网信办清朗系列专项行动要求,即日起,今日头条开展低俗谩骂专项整治行动,将重点整治昵称中带有明显低俗或者辱骂性词汇组合的,净化网络环境。今日头条始终致力于与各界高端小米,雷军求稳雷军21日在微博宣布,小米高端手机开始对标苹果,在产品品质和规格方面向苹果学习。对此,有网友调侃对标苹果没有问题,但不要只对标价格。苹果在高端手机市场中的成功,没有一家国产手机想要Java设计模式之观察者模式一概述观察者模式,又可以称之为发布订阅模式,观察者,顾名思义,就是一个监听者,类似监听器的存在,一旦被观察监听的目标发生的情况,就会被监听者发现,这么想来目标发生情况到观察者知道情Java设计模式之适配器模式一简介适配器可视为一种适配中间件,它存在于不匹配的二者之间,用于连接二者,将不匹配变得匹配,简单点理解就是平常所见的转接头,转换器之类的存在。适配器模式有三种类适配器对象适配器接口炸锅!盒马突然放大招,生鲜巨头暴跌65,蒸发360亿!霸气回应老二最大的梦想就是拼死跟老大干一场中国基金报安曼在挑衅竞争对手方面,阿里旗下的各个团队绝对是王者中的王者。前面有钉钉团队跑去腾讯楼下的地铁,包下整面墙广告暗讽微信不安全,近日,盒马又在上海地区搞出了斩钉价,被网友们支付强监管!支付宝微信支付被分流,聚合支付或将崛起文刘青青王倩IDBMR2004个人收款码的事我也是刚刚听人聊起才知道,虽然大家都在讨论,但是也不是什么大事。一位果蔬小摊贩对商学院记者表示,就是商户二维码要更贵一些。近日,关于20研发仅仅3年龍鹰一号在汉亮相龍鹰一号晶圆。通讯员李岿摄长江日报记者邓志鹏通讯员郑奇悦范妤欣刘新12月10日下午,芯擎科技在武汉经开区正式发布车用芯片品牌龍鹰首款7纳米高端智能座舱芯片龍鹰一号。芯擎科技于201雷军小米12Pro明天发布,五大技术突破随着小米12Pro发布临近,关于这款手机的技术也被雷总披露。五大技术突破,五大技术突破,五大技术突破,重要的事情说三遍,雷军说,小米12Pro这五大技术突破包括动态性能调度自研技术售价3千起,小米12系列3款产品全面对标苹果,你说有戏吗?28日即将发布的小米12系列手机,最近在手机圈热度一直很高,尤其是雷军发声要对标三星苹果,更是让大家对这部手机充满期待,目前手机的配置大家也已经了解的差不多了,但价格方面会不会和三华为display命令中的正则表达式display命令中的正则表达式正则表达式正则表达式(regularexpression)是一种模式匹配工具,用户根据一定的规则构建匹配模式,然后将匹配模式与目标对象进行匹配。正则做美团的心情录大家好,我是一位美团小哥,今天我想在这里和大家聊聊我自己做美团小哥这四年来的点点滴滴和我自己的生活!我是2018年加入了美团的,在我以前的时候也经常听到跑外卖是多么多么得挣钱一个月