雜湊 線性探測法

2022-02-18 22:01:14 字數 1309 閱讀 1549

time limit: 1 secs, memory limit: 256 mb

使用線性探測

法(linear probin

g)可以解決雜湊中的衝突問題,其基本思想是:設雜湊函式為

h(key) = d, 

並且假定雜湊的儲存結構是迴圈陣列

, 則當衝突發生時

, 繼續探測

d+1, d+2

…, 直到衝突得到解決

. 例如, 

現有關鍵碼集為 

,設:雜湊表表長為m=11

;雜湊函式為

hash(key)=key mod 11

;採用線性探測法處理衝突。建雜湊表如下:01

2345

6789

1011

2247

921637

298現在給定雜湊函式為

hash(key)= key mod m

,要求按照上述規則, 

使用線性探測

法處理衝突.

要求建立起相應雜湊表,並按要求列印。

僅有乙個測試用例, 第1

行為整數n與

m(1 <= n, m <= 10000

), n

代表key

的總數, m

代表雜湊表的長度

, 並且令雜湊函式為

: hash(key) = key mod m

.接下來n

行,每行乙個整數,代表乙個

key。

key與

key兩兩不相同 

( 0 <= key <= 10, 000)

。輸出建立好的

hash

表,比如下表01

2345

6789

1011

2247

921637

298應輸出0#11

1#22

2#null

3#47

4#92

5#16

6#37#7

8#29

9#810#null

3 515

6

0#5

1#12#6

3#null

4#null

初學雜湊,水一題。

#include#include

#include

using

namespace

std;

intmain()

num[b]=a;

}for(int i=0;i)

return0;

}

雜湊之線性探測法

資料結構實驗之查詢七 線性之雜湊表 time limit 1000ms memory limit 65536kb problem description 根據給定的一系列整數關鍵字和素數p,用除留餘數法定義hash函式h key key p,將關鍵字對映到長度為p的雜湊表中,用線性探測法解決衝突。重...

雜湊(2)線性探測法和雙重雜湊法

接上篇 雜湊的簡要描述和鏈位址法 解決雜湊衝突的方法 如果我們能夠 將要存入表中元素的數目,而且我們有足夠的記憶體空間可以容納帶有空閒空間的所有關鍵字,那麼使用鏈位址法是不值得的。我們依靠空的儲存空間解決衝突 設計表長m大於元素數目n,開放位址法,最簡單的開放位址法是線性探測法 該符號表的實現將元素...

線性探測法解決雜湊衝突

線型探測法 解決雜湊衝突的一種方法 include include using namespace std const int indexbox 10 雜湊表最大元素 const int maxnum 7 最大資料個數 void printdata int data,int n void creat...