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 5156
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...