[課業] 106高考-資料結構 第五題第三小題

看板 Examination
作者 kisha024 (4545454554)
時間 2017-11-07 11:16:05
留言 2則留言 (1推 0噓 1→)

106高考-資料結構 第五題第三小題 考選部 http://wwwc.moex.gov.tw/ExamQuesFiles/Question/106/106090_26050.pdf 高點參考答案 https://goo.gl/GLp3B2 題目 請依序將17, 23, 36, 13, 38, 11, 52, 44, 25, 35, 2, 18, 21 儲存至下列13 桶(buckets)× 1 槽(slots)的雜湊表(hashing table) 。請以各小題所設定的雜湊函式(hashing function) 將資料依序存入並顯示最後的雜湊表。 (三) 雜湊函式F1(x) = x mod 13,碰撞時,採取「雙探測法」(open addressing with double hashing)來放入資料,第二雜湊函式為F2(x) = 7-(x mod 7) 。請顯示最後的雜湊表。 各位好 我有兩個地方不懂  1. 第(三)小題 第一個雜湊函數是F1(x) = x mod 13 ,第二個雜湊函數是F2(x) = 7-(x mod 7) 當發生第一次碰撞時 是用x代入F2(x) = 7-(x mod 7)嗎? 還是用x mod 13的結果 代入F2(x) = 7-(x mod 7)? 2. 使用雙雜湊函式 若發生第二次碰撞時 該怎麼處理?是用linear probing嗎? 還是? 高點那個答案不知道怎麼算出來的? 謝謝 ----------------------------------------------------------------- 有人回信問怎麼算的 我算一下前面幾個就好 後面算法都一樣 我就省略了 17 mod 13 = 4 23 mod 13 = 10 36 mod 13 = 10 <-- 碰撞, 7-(36 mod 7) = 6 所以 (10+6k) mod 13,k=1,2,3... <-- 這邊你要 (36+6k) mod 13 也是可以,意思一樣 k=1, 16 mod 13 = 3 13 mod 13 = 0 38 mod 13 = 12 11 mod 13 = 11 52 mod 13 = 0 <-- 碰撞, 7-(52 mod 7) = 4 所以 (0+4k) mod 13,k=1,2,3... k=1, 4 mod 13 = 4 <-- 碰撞 k=2, 8 mod 13 = 8 44 mod 13 = 5 . . . -- 謝謝 若增量是n 表示持續+kn(k=1,2,3...) 直到找到空的slot為止嗎? 感謝
※ 批踢踢實業坊(ptt.cc), 來自: 60.251.182.4
※ 文章網址: https://www.ptt.cc/bbs/Examination/M.1510024568.A.FC5.html

alan0204: 第二次是增量 11/07 13:10

a828203: 是的,找到為止... 11/07 19:17

您可能感興趣