常用的查詢演算法

2021-07-04 17:43:11 字數 891 閱讀 1212

1).mid=(low+high)/2

2).當k>arr[mid]時,low = mid+1,並重複1).

當k     當k=arr[mid]時,找到,結束。

直到low>high,還沒找到那麼說明該關鍵字不存在。

核心**實現:

演算法步驟:1).第一步確定查詢節點在那個表中的那一塊。

2)第二步在確定的塊中找到該節點。

1):雜湊函式的構造(列舉常用的)

(2).除餘法:選擇乙個適當的正整數m,使用關鍵字對m求餘,作為關鍵字,即h(k) = key%m。

(3).數字分析法:對關鍵字內部**的各個碼位進行分析,取較為出現次數較為平均的,需要實現知道關鍵字內部的碼位,所以限制極大。

2):衝突處理

(1).線性探測法:當通過hash函式計算的位址有值時,將關鍵字+1,再去利用hash函式求得位址,重複上述過程,直到位址位置不為空。

(2).溢位區法:(1)方法,可能會造成連鎖反應,增大了衝突發生的機會。溢位區辦法是,當發生衝突時,將發生衝突的關鍵字放入溢位區中。(可以形成多級雜湊)

常用查詢演算法

查詢是在大量的資訊中尋找乙個特定的資訊元素,在計算機應用中,查詢是常用的基本運算,例如編譯程式中符號表的查詢。用關鍵字標識乙個資料元素,查詢時根據給定的某個值,在表中確定乙個關鍵字的值等於給定值的記錄或資料元素。在計算機中進行查詢的方法是根據表中的記錄的組織結構確定的。順序查詢也稱為線形查詢,從資料...

常用查詢演算法

include include include 順序表的查詢 順序表的查詢 平均o n 最好o 1 最差o n int sqsearch int r,int n,int key return 0 沒有查詢到v 有序表的查詢 交換值 void swap int r,int i,int j 獲取中間位置...

常用查詢演算法

順序查詢是在乙個已知無 或有序 序佇列中找出與給定關鍵字相同的數的具體位置。原理是讓關鍵字與佇列中的數從第乙個開始逐個比較,直到找出與給定關鍵字相同的數為止,它的缺點是效率低下。public static int sequencesearch int array,int des return 1 二...