C語言查詢演算法

2021-09-30 14:15:16 字數 653 閱讀 5677

1、折半查詢

思想:假設表中元素按照公升序排列,將表中間位置元素與查詢關鍵字比較,如果兩者相等,則查詢成功;否則利用中間位置元素將表分為前後兩個子表,如果中間元素大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表,直到找到查詢關鍵字即為查詢成功。

優點:比較次數少,查詢速度快,平均效能好;

缺點:必須為有序表,插入刪除困難;

適用於不經常變動而查詢頻繁的有序列表。

**:

#include int bisearch(int target, int

array, int

len)

else

if (array[mid] < target)

else

if (array[mid] > target)

}return -1;

} int main()

; int location = bisearch(8, array, 8);

if (location > -1)

else

return 0;

}

C語言 查詢演算法

簡單查詢 順序查詢 從序列起始位置開始,逐個將序列中的元素與所要查詢的資料進行比較,有則查詢成功,如果查詢到序列最後乙個元素也沒有匹配,則查詢失敗 int ordersearch int a,int n,int data 二分查詢 二分查詢也稱折半查詢,其優點是速度快,缺點是要求資料必須是有序列序列...

lfu演算法實現c語言 雜湊查詢演算法(C語言實現)

上一節介紹了有關雜湊表及其構造過程的相關知識,本節將介紹如何利用雜湊表實現查詢操作。在雜湊表中進行查詢的操作同雜湊表的構建過程類似,其具體實現思路為 對於給定的關鍵字 k,將其帶入雜湊函式中,求得與該關鍵字對應的資料的雜湊位址,如果該位址中沒有資料,則證明該查詢表中沒有儲存該資料,查詢失敗 如果雜湊...

演算法 c語言 三大查詢演算法,C語言詳細版

查詢也可稱檢索,是在大量的資料元素中找到某個特定的資料元素而進行的工作,查詢是一種操作。順序查詢也稱為線性查詢,屬於無序查詢演算法。從資料結構線形表的一端開始,順序掃瞄,依次將掃瞄到的結點關鍵字與給定值k相比較,若相等則表示查詢成功 若掃瞄結束仍沒有找到關鍵字等於posdata的結點,表示查詢失敗。...