斐波那契查詢

2021-06-21 22:01:02 字數 609 閱讀 2219

斐波那契查詢

斐波那契查詢的核心是:

1)當key=a[mid]時,查詢成功;

2)當key

3)當key>a[mid]時,新的查詢範圍是第mid+1個到第high個,此時範圍個數為f[k-2] - 1個,即陣列右邊的長度,所以要在[f[k - 2] - 1]範圍內查詢。

與二分查詢相比,

斐波那契查詢演算法

的明顯優點在於它

只涉及加法和減法

運算,而不用除法。因為除法比加減法要占去更多的機時,因此,斐波那契查詢的平均效能要比折半查詢好。  

#includeusing namespace std;

const int maxsize = 20;

void fibonacci(int *f)

else if (a[mid] < key)

else

}}int main()

; int k;

cout<<"請輸入要查詢的數字:";

cin>>k;

int pos = fibonacci_search(a,k,13);

if(pos == -1 )

cout<<"can't found it"<

斐波那契查詢

與二分查詢相比,斐波那契查詢演算法的明顯優點在於它只涉及加法和減法運算,而不用除法。因為除法比加減法要占去更多的機時,因此,斐波那契查詢的平均效能要比折半查詢好。斐波那契查詢與折半查詢的時間複雜度間同為o log2 log2n 平均 情況下,斐波那契查詢優於折半查詢,但最壞情況下則差於折半查詢。斐波...

斐波那契查詢

基於二分法 此演算法依靠斐波那契數列 來跳轉比較位置 在玩數字板所以有了手寫圖 單步驟原理如下 c語言實現 include include define return fail 1 斐波那契查詢 int fibonaccisearch int src int,int src len,int sear...

斐波那契查詢

實驗資料表明當資料量超過40萬時,斐波那契查詢演算法查詢速度優於二分查詢 原理 與二分查詢相比,斐波那契查詢的明顯優點在於它只涉及加法和減法運算,而不用除法 可能用 1 要好點 因為除法比加減法要占去更多的機時,因此,斐波那契查詢的執行時間比二分查詢短。但是,在命中率方面,二分查詢比斐波那契查詢出色...