C語言 查詢演算法

2021-07-22 15:20:19 字數 649 閱讀 4714

簡單查詢(順序查詢)

從序列起始位置開始,逐個將序列中的元素與所要查詢的資料進行比較,有則查詢成功,如果查詢到序列最後乙個元素也沒有匹配,則查詢失敗

int ordersearch(int a, int n, int data)

二分查詢

二分查詢也稱折半查詢,其優點是速度快,缺點是要求資料必須是有序列序列。

查詢思路是:將所要查詢的序列的中間位置的資料與所要查詢的元素進行比較,如果相等,則表示查詢成功,否則以該位置為基準將所要查詢的序列分為左右兩部分,按照所要查詢序列的公升降規律及中間元素與所查詢元素的大小關係,來選擇所要查詢的那部分序列,對其採用同樣的方法進行查詢,直至能夠確定所要查詢的元素是否存在。

迴圈實現

int binarysearch(int a, int n, int data)

return -1;

}

遞迴實現

int binarysearch(int a, int left, int right, int data)

C語言查詢演算法

1 折半查詢 思想 假設表中元素按照公升序排列,將表中間位置元素與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置元素將表分為前後兩個子表,如果中間元素大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表,直到找到查詢關鍵字即為查詢成功。優點 比較次數少,查詢速度快,平均效能好 缺...

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

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

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

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