資訊處理 資料結構 - 高考

Table of Contents

題目:

假設輸入的資料是:7341.3123.1673.4919.4304.9179.1369,

使用的雜湊函數是 f(x) = x mod 10,x是輸入的資料,而雜湊表格的大小有10個位置,

編號從 0 ~ 9 ,每一位置只能儲存一筆資料,請分別回答下列問題:

(4)當溢位處理方法使用雙重雜湊(double hashing)時,

第二個雜湊函數是 g(x) = 7-(x mod 7),

請寫出雜湊表格的內容。


From 95年高考



王老師解法:


(4) 表格內容如下: 9179無法找到 bucket存放。


表格編號 0 1 2 3 4 5 6 7 8 9

1673 7341 3123 4304 1369 4919




疑問:

1673為什麼會擺在表格0呢?

1673 mod 7 = 0,

g(1673) = 7- 0 = 7,

應該是放在7號桶子吧?!


麻煩各位解答了!








[考題] 國考歷屆考題與考題觀念討論(書裡看到的選這個)請附上想法、出處

--

All Comments

Lauren avatarLauren2014-05-25
我想是因為他沒碰撞 有破撞才會用到第2的function
Joe avatarJoe2014-05-26
為什麼9179不能放呀@@
Kama avatarKama2014-05-26
9179第二次的位置已經被放了,所以沒辦法放
Faithe avatarFaithe2014-05-30
抱歉是我看錯了 不過7-(9179%7)不是=5嗎
Damian avatarDamian2014-05-30
高點的解答http://ppt.cc/f-3b
Harry avatarHarry2014-06-01
怪哉 你有看王志強的版本嗎? 她的第2個HF是增量
Ida avatarIda2014-06-05
不過 我有點忘了 你的算法是依照 洪毅教的嗎?
Steve avatarSteve2014-06-09
1673會在0是因為第一次在3碰撞後 用g(x)算出7表示要從3往
Emma avatarEmma2014-06-13
往下數7格放
Olga avatarOlga2014-06-15
假設double hashing擺放rule是用g(x)的值,那1369該放2?