最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA遞歸與非遞歸實(shí)現(xiàn)斐波那契數(shù)列

 更新時(shí)間:2018年02月07日 09:46:29   作者:binke_mxb  
這篇文章主要為大家詳細(xì)介紹了JAVA遞歸與非遞歸實(shí)現(xiàn)斐波那契數(shù)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci[1] )以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個(gè)數(shù)列:0、1、1、2、3、5、8、13、21、34、……在數(shù)學(xué)上,斐波納契數(shù)列以如下被以遞歸的方法定義:F(0)=0,F(xiàn)(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在現(xiàn)代物理、準(zhǔn)晶體結(jié)構(gòu)、化學(xué)等領(lǐng)域,斐波納契數(shù)列都有直接的應(yīng)用,為此,美國數(shù)學(xué)會(huì)從1963起出版了以《斐波納契數(shù)列季刊》為名的一份數(shù)學(xué)雜志,用于專門刊載這方面的研究成果。

下面我用JAVA語言遞歸與非遞歸方式不同實(shí)現(xiàn):

public class Feibonacii {
  //使用遞歸方法實(shí)現(xiàn)斐波那契數(shù)列
  public static int feibonaci1(int n){
    if(n==0){return 0;}
    if(n==1){return 1;}
    return feibonaci1(n-1)+feibonaci1(n-2);
  }
  //使用非遞歸方法實(shí)現(xiàn)斐波那契數(shù)列
  public static int feibonaci2(int n){
    int arr[] = new int[n+1];
    arr[0]=0;
    arr[1]=1;
    for(int i=2;i<=n;i++){
      arr[i] = arr[i-1]+arr[i-2];
    }
    return arr[n];
  }

  public static void main(String[] args) {
    for(int i=40;i<=45;i++){
      System.out.println("feibonaci1 i="+i+",vaule="+feibonaci1(i));
    }
    for(int i=40;i<=45;i++){
      System.out.println("feibonaci2 i="+i+",vaule="+feibonaci2(i));
    }
  }
}

執(zhí)行時(shí)明顯發(fā)現(xiàn)遞歸方法43之后執(zhí)行相對(duì)緩慢,非遞歸方法執(zhí)行都相當(dāng)快速。

分析:

(1)Java使用方法遞歸實(shí)現(xiàn)斐波那契數(shù)列,feibonaci1(45)執(zhí)行一次,Java執(zhí)行方法feibonaci1有2^44+2^43+……+2^1+1次,而feibonaci2(45),只執(zhí)行了一次方法,但計(jì)算次數(shù)與feibonaci1一樣。

結(jié)論:JAVA描述斐波那契數(shù)列,更適合使用非遞歸方法的形式計(jì)算。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

河东区| 保康县| 星子县| 屯留县| 衢州市| 威远县| 肇庆市| 诸城市| 宿松县| 湟中县| 肥西县| 东乌| 永济市| 南木林县| 雷州市| 蛟河市| 兰考县| 内丘县| 郴州市| 凤山市| 嘉善县| 黄平县| 葵青区| 大安市| 新乡县| 福清市| 溧阳市| 徐汇区| 安陆市| 大田县| 罗城| 永丰县| 湘阴县| 漳州市| 崇礼县| 乌审旗| 临潭县| 镇坪县| 都匀市| 吉林省| 融水|