資料結構實驗之查詢七 線性之雜湊表的解析

2021-10-25 01:59:48 字數 945 閱讀 9471

description

根據給定的一系列整數關鍵字和素數p,用除留餘數法定義hash函式h(key)=key%p,將關鍵字對映到長度為p的雜湊表中,用線性探測法解決衝突。重複關鍵字放在hash表中的同一位置。

input

連續輸入多組資料,每組輸入資料第一行為兩個正整數n(n <= 1500)和p(p >= n的最小素數),n是關鍵字總數,p是hash表長度,第2行給出n個正整數關鍵字,數字間以空格間隔。

output

輸出每個關鍵字在hash表中的位置,以空格間隔。注意最後乙個數字後面不要有空格。

sample

input

5 521 21 21 21 21

4 524 15 61 88

4 524 39 61 15

5 524 39 61 15 39

output

1 1 1 1 1

4 0 1 3

4 0 1 2

4 0 1 2 0

第一組樣例,都是21,21%5=1,同時值都相等,所以可以存在同乙個位置

第四組樣例,24%5=4,將25存在4的位置;39%5=4,而4的位置有了24且不等於39,故造成了衝突,t++,5%5=0,即將39存在0的位置;接下來61存在1的位置;然後15%5=0,0的位置有了39,t++,一直到2的位置才不會造成衝突,所以將15存在2的位置;最後乙個數39利用之前的順序存在0的位置

#include

using

namespace std;

intmain()

else}if

(!flag)}if

(i==n-1)

cout

cout<<

" ";}}

return0;

}

資料結構實驗之查詢七 線性之雜湊表

time limit 1000ms memory limit 65536k 有疑問?點這裡 根據給定的一系列整數關鍵字和素數p,用除留餘數法定義hash函式h key key p,將關鍵字對映到長度為p的雜湊表中,用線性探測法解決衝突。重複關鍵字放在hash表中的同一位置。連續輸入多組資料,每組輸入...

資料結構實驗之查詢七 線性之雜湊表

根據給定的一系列整數關鍵字和素數p,用除留餘數法定義hash函式h key key p,將關鍵字對映到長度為p的雜湊表中,用線性探測法解決衝突。重複關鍵字放在hash表中的同一位置。連續輸入多組資料,每組輸入資料第一行為兩個正整數n n 1000 和p p n的最小素數 n是關鍵字總數,p是hash...

資料結構實驗之查詢七 線性之雜湊表

time limit 1000ms memory limit 65536k 有疑問?點這裡 根據給定的一系列整數關鍵字和素數p,用除留餘數法定義hash函式h key key p,將關鍵字對映到長度為p的雜湊表中,用線性探測法解決衝突。重複關鍵字放在hash表中的同一位置。連續輸入多組資料,每組輸入...