高考申論題
109年
[資訊處理] 資料結構
第 三 題
請利用 Double Hashing 將下列 key 值放入 hash table of size 13中(如表1):(14分)
{24, 53, 17, 46, 14, 32, 37, 92}
h1(k)=k mod 13,h2(k)=1+(k mod 11),
h(k,i)=(h1(k)+i*h2(k)) mod 13 (i=0, 1,…, 12)
表1
0 1 2 3 4 5 6 7 8 9 10 11 12
📝 此題為申論題
思路引導 VIP
拿到這題,首先確立兩個雜湊函數的計算規則,並依序將 key 帶入 h1(k) 找尋初始位置。若發生碰撞(Collision),則計算 h2(k) 作為位移步長(Step size),並逐次增加 i 值計算 h(k, i) 直到找到空的槽位,過程需詳列每個 key 的探測步驟以確保給分完整。
🤖
AI 詳解
AI 專屬家教
【解題關鍵】雙重雜湊(Double Hashing)發生碰撞時,探測序列為 h(k,i) = (h1(k) + i * h2(k)) mod 13,其中 i=0, 1, 2, ... 直到找到空位。 【解答】 逐步計算各 key 的存放位置:
▼ 還有更多解析內容