溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java中斐波那契查找的示例分析

發(fā)布時間:2021-05-06 14:11:02 來源:億速云 閱讀:158 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)java中斐波那契查找的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

本教程操作環(huán)境:windows7系統(tǒng)、java10版,DELL G3電腦。

1.概念

是二分查找的一種提升算法,通過運(yùn)用黃金比例的概念在數(shù)列中選擇查找點(diǎn)進(jìn)行查找,提高查找效率。同樣地,斐波那契查找也屬于一種有序查找算法。

2.原理分析

斐波那契查找算法與二分法查找基本類似。不同的是二分法查找是折半查找,而斐波那契查找算法利用斐波那契數(shù)列的黃金分割特性,利用黃金分割點(diǎn)查找。即mid = left + f(k-1) - 1(f代表斐波那契數(shù)列)。

java中斐波那契查找的示例分析

3.實(shí)例

package com.cn.dataStruct;
 
/**
 * 用Java實(shí)現(xiàn)斐波那契數(shù)列
 */
public class Febonacci {
    /**
     * 用遞歸實(shí)現(xiàn)斐波那契數(shù)列
     * @param i 需要得到的第i項(xiàng)
     * @return 第i項(xiàng)內(nèi)容
     */
    public static int febonaccis(int i){
        if(i == 1 || i == 2){
            return 1;
        }else{
            return febonaccis(i-1) + febonaccis(i - 2);
        }
    }
 
    public static void main(String[] args) {
       System.out.println( febonaccis(6) );
    }
 
}

感謝各位的閱讀!關(guān)于“java中斐波那契查找的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI