平方探測法hash

2021-07-25 11:18:36 字數 852 閱讀 4911

time limit: 400ms

memory limit: 65536kb

problem description

給定的一組無重複資料的正整數,根據給定的雜湊函式建立其對應hash表,雜湊函式是h(key)=key%p,p是雜湊表表長,p是素數,處理衝突的方法採用平方探測方法,增量di=±i^2,i=1,2,3,...,m-1

input

輸入包含多組測試資料,到 eof 結束。

每組資料的第1行給出兩個正整數n(n <= 500)和p(p >= 2n的最小素數),n是要插入到雜湊表的元素個數,p是雜湊表表長;第2行給出n個無重複元素的正整數,資料之間用空格間隔。

output

按輸入資料的順序輸出各數在雜湊表中的儲存位置 (hash表下標從0開始),資料之間以空格間隔,以平方探測方法處理衝突。

example input

4 11

10 6 4 15

9 11

47 7 29 11 9 84 54 20 30

example output

10 6 4 5

3 7 8 0 9 6 10 2 1

hint

author

xam    

**:/**平方探測法的雜湊處理**/

#include#include#includeusing namespace std;

int main()

while(~scanf("%d %d",&n,&p)){

int ans;

memset(h,-1,sizeof(h));

for(i=0;i

革命尚未成功!

hash解決衝突之 平方探測

資料結構實驗之查詢五 平方之雜湊表 time limit 400ms memory limit 65536k 有疑問?點這裡 題目描述 給定的一組無重複資料的正整數,根據給定的雜湊函式建立其對應hash表,雜湊函式是h key key p,p是雜湊表表長,p是素數,處理衝突的方法採用平方探測方法,增...

hash解決衝突之 平方探測

資料結構實驗之查詢五 平方之雜湊表 time limit 400ms memory limit 65536k 有疑問?點這裡 題目描述 給定的一組無重複資料的正整數,根據給定的雜湊函式建立其對應hash表,雜湊函式是h key key p,p是雜湊表表長,p是素數,處理衝突的方法採用平方探測方法,增...

雜湊表平方探測法

平方探測採用原雜湊值加整數平方作為備選位置避免了一次聚集 會產生二次聚集,在備選位置上聚集 裝填因子不能大於0.5,即至少有一半為空且表大小為素數才能保證插入元素總能成功 public class quadraticprobinghashtable public quadraticprobingha...