22 某雜湊表(hash table)有 13 個空格,編號為 0 到 12。假設雜湊函數(hash function)為 h(k) = k mod 13, 且此雜湊表使用平方探測法(quadratic probing,公式為 h(k,i) = (h(k) + i2 ) mod 13)處理碰撞(collision)。 依此方法,若將 28、30、41、23、47、54、17 等 7 個數字依序存入後,則此時編號 5 的空格所存之 數字為何?
(A)17
(B)30
(C)54
(D)沒有數字

答案:登入後查看
統計: A(206), B(56), C(100), D(71), E(0) #1428014

詳解 (共 7 筆)

#1529093

0    1    2    3    4    5    6    7    8    9   10   11   12


28 mod 13 = 2

0    1    2    3    4    5    6    7    8    9   10   11   12
           28


30 mod 13 = 4

0    1    2    3    4    5    6    7    8    9   10   11   12
           28        30


41 mod 13 = 2(碰撞)

2+12=3

0    1    2    3    4    5    6    7    8    9   10   11   12
           28  41  30


23 mod 13 = 10

0    1    2    3    4    5    6    7    8    9   10   11   12
           28  41  30                                23


47 mod 13 = 8

0    1    2    3    4    5    6    7    8    9   10   11   12
           28  41  30                    47        23


54 mod 13 = 2(碰撞)

2+12=3(碰撞)

2+22=6

0    1    2    3    4    5    6    7    8    9   10   11   12
           28  41  30        54        47        23


17 mod 13 = 4(碰撞)

4+12=5

0    1    2    3    4    5    6    7    8    9   10   11   12
           28  41  30  17  54        47        23

30
0
#3295928


(共 1 字,隱藏中)
前往觀看
3
0
#3036264
請問平方探測法的『i』,題目也沒說  就...
(共 58 字,隱藏中)
前往觀看
1
0
#1477791
求解
1
0
#5619583
0
0
#5426645
請問i是指什麼?17 mod 13 = ...
(共 45 字,隱藏中)
前往觀看
0
0
#5500655

以下是我的解題方式,雖然不影響答案,但有些地方跟最佳解不太一樣

若依題目來說

沒碰撞的情況:h(k) = k mod 13

有碰撞的情況:h(k,i) = (h(k) +i2 ) mod 13)

依序輸入28、30、41、23、47、54、17

28 mod 13 = 2

30 mod 13 = 4

41 mod 13 = 2....(碰撞),故41+12=42,42 mod 13 = 3 

23 mod 13 = 10

47 mod 13 = 8

54 mod 13 = 2...(碰撞),故54+12=55,55 mod 13 = 3...(碰撞),故54+22=58,58 mod 13 = 6

17 mod 13 = 4...(碰撞),故17+12=18,18 mod 13 = 5

放的位置應該如下:


0123456789101112


2841301754
47
23


0
0