民國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. (1) 位址3 中存放25
  2. (2) 位址4 中存放33
  3. (3) 位址5 中存放18
  4. (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料