民國107年 第2梯次 電腦軟體設計(JAVA)乙級 學科
第11題
依序將33,18,40,25 存入7 個Bucket(單一Slot,位址編號為0 至6),若以重雜湊(Rehashing)來 處理溢位情形,雜湊函數如下,則下列…
題目
依序將33,18,40,25 存入7 個Bucket(單一Slot,位址編號為0 至6),若以重雜湊(Rehashing)來 處理溢位情形,雜湊函數如下,則下列敘述何者正確?
- (1) 位址3 中存放25
- (2) 位址4 中存放33
- (3) 位址5 中存放18
- (4) 位址6 中存放40
官方答案
(4) 位址6 中存放40
解析
以雜湊函數 h(k)=k mod 7 計算:33 mod 7=5,存入位址5;18 mod 7=4,存入位址4;40 mod 7=5,但位址5已被33佔用而發生溢位,重雜湊改試 (40+1) mod 7=6,因此位址6存放40;25 mod 7=4,位址4已被18佔用,重雜湊得5也被33佔用,再重雜湊得6也被40佔用,最後落到位址0。所以位址6確實放40,位址5放33、位址4放18、位址0放25,其餘選項的位址對應皆不符。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。