斐波那契查詢

2021-07-28 06:19:38 字數 864 閱讀 4382

基於二分法 此演算法依靠斐波那契數列 來跳轉比較位置 在玩數字板所以有了手寫圖 單步驟原理如下

---c語言實現

#include#include#define return_fail -1

//斐波那契查詢

int fibonaccisearch(int *src_int,int src_len,int searchnum)

phead = (int *)malloc(sizeof(int)*(count));

lastnum = 1;

lastlastnum = 1;

phead[0] = 0;

phead[1] = lastnum;

phead[2] = lastlastnum;

for(loop = 3;loop<=count;loop++)

//查詢

lowindex = 1;

highindex = src_len;

while(lowindex <= highindex)

else if(searchnum > src_int[midindex])

else

}return return_fail;

}int main()

; result = fibonaccisearch(test,sizeof(test)/sizeof(test[0]),555);

printf("%d\n",result);

system("pause");

return 0;

}

斐波那契查詢

斐波那契查詢 斐波那契查詢的核心是 1 當key a mid 時,查詢成功 2 當key 3 當key a mid 時,新的查詢範圍是第mid 1個到第high個,此時範圍個數為f k 2 1個,即陣列右邊的長度,所以要在 f k 2 1 範圍內查詢。與二分查詢相比,斐波那契查詢演算法 的明顯優點在...

斐波那契查詢

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

斐波那契查詢

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