最新国产好看的视频,伊人天堂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)用,為此,美國(guó)數(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ì)算。

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

相關(guān)文章

最新評(píng)論

宝兴县| 西峡县| 阜平县| 临澧县| 天全县| 扶绥县| 通城县| 浦城县| 遂昌县| 凌云县| 筠连县| 蒙阴县| 建宁县| 巩留县| 类乌齐县| 武安市| 东丽区| 堆龙德庆县| 都兰县| 淳化县| 武夷山市| 苏尼特右旗| 耿马| 东兴市| 正镶白旗| 东丽区| 定西市| 双桥区| 津南区| 齐齐哈尔市| 翁牛特旗| 江都市| 福州市| 长葛市| 临夏市| 边坝县| 万源市| 南雄市| 仙桃市| 汝州市| 娄底市|