[理工] [資結] Hashing function overflow Qua …
當 hashing function 發生 overflow 時
若選擇 Quadratic probing 為處理發方式
我看洪逸給的定義是
+
Address = ( H(x) - i^2 ) mod B , B 為 Bucket 數目
所以當overflow發生時
第一次 i = 1
Address = ( H(x) + i^2 ) mod B 若沒找到
則
Address = ( H(x) - i^2 ) mod B
然後交大99資結第2.題
給 h(X) = ( X mod 10 )
Quadratic probing F(i) = 2*i^2
當 overflow 發生時
第一次 i = 1
Address = ( h(X) + 2*i^2 ) mod 10
雖然題目好像只設計會發生一次 overflow
但我想問的是
如果還是發生overflow
那要找的位置是
Address = ( h(X) - 2*i^2 ) mod 10 依然代入 i = 1
還是
Address = ( h(X) + 2*i^2 ) mod 10 然後代入 i = 2
不懂的地方在於Quadratic probing
洪逸給的定義跟交大給的不一樣
是 Quadratic probing 本來就沒有明確定義
要看題目給的還是如何
所以想要弄清楚QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.248.217.3
※ 編輯: iamhebe 來自: 111.248.217.3 (02/14 10:12)
推
02/14 10:38, , 1F
02/14 10:38, 1F
→
02/14 10:39, , 2F
02/14 10:39, 2F
→
02/14 10:40, , 3F
02/14 10:40, 3F
→
02/14 10:40, , 4F
02/14 10:40, 4F
→
02/14 10:40, , 5F
02/14 10:40, 5F
→
02/14 10:41, , 6F
02/14 10:41, 6F
→
02/14 10:41, , 7F
02/14 10:41, 7F
→
02/14 10:49, , 8F
02/14 10:49, 8F
推
02/14 10:59, , 9F
02/14 10:59, 9F
→
02/14 11:00, , 10F
02/14 11:00, 10F
→
02/14 11:15, , 11F
02/14 11:15, 11F
推
02/14 11:31, , 12F
02/14 11:31, 12F
→
02/14 11:32, , 13F
02/14 11:32, 13F
推
02/14 11:42, , 14F
02/14 11:42, 14F
推
02/14 15:59, , 15F
02/14 15:59, 15F
→
02/14 16:14, , 16F
02/14 16:14, 16F
推
02/14 16:24, , 17F
02/14 16:24, 17F
→
09/11 14:15, , 18F
09/11 14:15, 18F