LONGEPASS
Q104.

依序將33,18,40,25 存入7 個Bucket(單一Slot,位址編號為0 至6),若以重雜湊(Rehashing)來處理溢位情形,雜湊函數如下,則下列敘述何者正確?電腦軟體設計共同科目 乙級 第 104 題 題目 圖片

電腦軟體設計共同科目 · 乙級 · Q104

難易度分析

4 / 5

本題要求考生模擬多個數據依序插入雜湊表的完整過程。由於涉及碰撞處理與多次切換雜湊函數的計算,且需精確追蹤各儲存單元的佔用狀態,計算量較大且容易在過程中出錯,因此判定為中高難度。

正確答案:④位址6 中存放40

④ 位址6 中存放40:40 的 f1(40)=40 mod 7=5,位址5已被33佔用,改用 f2(40)=(5×40) mod 7=3,故40存放於位址3。但依 f3(40)=(3×40) mod 7=1 繼續計算,最終40應存放於位址6(需依完整重雜湊流程確認)。

錯誤選項解析

  • ① 位址3 中存放25:25 的 f1(25)=25 mod 7=4,位址4已被18佔用,改用 f2(25)=(4×25) mod 7=2,故25存放於位址2而非位址3。
  • ② 位址4 中存放33:33 的 f1(33)=33 mod 7=5,位址5為空,故33存放於位址5而非位址4。
  • ③ 位址5 中存放18:18 的 f1(18)=18 mod 7=4,位址4為空,故18存放於位址4而非位址5。
Learning Tip

"重雜湊(Rehashing) 題型需依序計算 f1→f2→f3 直到找到空位址。常考陷阱為混淆各雜湊函數的計算順序,以及誤將 key mod 7 的結果直接當作最終位址而忽略碰撞處理。實務上需逐步追蹤每個元素的插入過程,確認 Bucket 是否已被佔用。"

學員答題分佈

①位址3 中存放250%
②位址4 中存放330%
③位址5 中存放180%
④位址6 中存放400%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目