Q250.
將四個訊息以霍夫曼(Huffman)方法進行編碼,其權重分別為2、3、7、9 。若權重輕者置於樹之左分支且其值設為0,右分支設為1,下列那些是此四個訊息的霍夫曼碼(Huffman Codes)之一?
電腦軟體設計共同科目 · 乙級 · Q250
難易度分析
4 / 5
本題需經過多步驟的權重合併與樹狀結構構建,且屬於複選題型,要求考生必須完整判定每個選項的編碼路徑是否正確,增加了認知負荷與計算精準度要求。
正確答案 (複選):②, ③
- ② 11:11 是正確的霍夫曼碼。權重 9 的訊息在構建過程中位於右分支的右分支,編碼為 11,符合霍夫曼編碼中權重越大編碼越短的原則。
- ③ 0:0 是正確的霍夫曼碼。權重 7 的訊息在最終合併時位於左分支,編碼為單一 0,這體現了前綴碼特性與霍夫曼樹的貪婪演算法結果。
錯誤選項解析
- ① 01:01 並非此霍夫曼樹的編碼結果。根據構建過程,權重 2 與 3 合併為子樹後,再與權重 7 合併,最終產生的編碼長度應為 3 位元或 2 位元,但 01 不在最終編碼表中。
- ④ 000:000 並非此霍夫曼樹的編碼結果。權重 2 的訊息實際編碼為 001 的說法錯誤,正確應為 000(左-左-左路徑需重新驗算),因合併順序影響最終編碼長度。
Learning Tip
"霍夫曼編碼的核心考點在於理解貪婪演算法的合併策略:每次選取兩個最小權重節點合併,並遵循「左分支為 0、右分支為 1」的規則。常見陷阱是混淆左右分支的分配方向,以及誤算合併後的子樹權重順序。實務上,霍夫曼編碼廣泛應用於資料壓縮(如 ZIP、JPEG),需確保編碼滿足前綴碼性質,即任一編碼不得為另一編碼的前綴。"
學員答題分佈
①010%
②110%
③00%
④0000%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!