[理工] [資結] Hashing function overflow Qua …

看板Grad-ProbAsk作者 ( bbb)時間15年前 (2011/02/14 10:10), 編輯推噓6(6012)
留言18則, 7人參與, 最新討論串1/1
當 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
洪兔給的是horo 上面的 +- 上下兩邊跑 不過這題都定義
02/14 10:38, 1F

02/14 10:39, , 2F
+了 所以 就一直往下找應該就可以了(i =1.2.3...)
02/14 10:39, 2F

02/14 10:40, , 3F
cormen書上定義就真的是一個二次方程式 i = 0.1.2...
02/14 10:40, 3F

02/14 10:40, , 4F
題目沒定義+啊 正常來說還是要+-兩邊跑
02/14 10:40, 4F

02/14 10:40, , 5F
所以應該是由題目給定 沒特別講就用horo書上的方式去做囉
02/14 10:40, 5F

02/14 10:41, , 6F
這題過程是 89放9 18放8 49餘數9所以49+2*i^2 mod 10=1
02/14 10:41, 6F

02/14 10:41, , 7F
所以答案是C
02/14 10:41, 7F

02/14 10:49, , 8F
這題用哪個答案都一樣的樣子
02/14 10:49, 8F

02/14 10:59, , 9F
請問wolfswolfs大 最後會把69放在哪個slot?
02/14 10:59, 9F

02/14 11:00, , 10F
我是會放3 QQ
02/14 11:00, 10F

02/14 11:15, , 11F
我會放7耶0.0
02/14 11:15, 11F

02/14 11:31, , 12F
恩恩 用 +-我也會放 7 只不過我用 i=1.2.3..去做offset
02/14 11:31, 12F

02/14 11:32, , 13F
原po想問的應該是這個差別吧....
02/14 11:32, 13F

02/14 11:42, , 14F
這題應該要用+-下去跑吧
02/14 11:42, 14F

02/14 15:59, , 15F
那 58 呢
02/14 15:59, 15F

02/14 16:14, , 16F
58放0吧
02/14 16:14, 16F

02/14 16:24, , 17F
02/14 16:24, 17F

09/11 14:15, , 18F
請問wolfswolf https://daxiv.com
09/11 14:15, 18F
文章代碼(AID): #1DM8xvoo (Grad-ProbAsk)