LONGEPASS
Q131.

若要對一組訊息AAAABBCCCDDE 做二進位數的編碼,下列敘述何者錯誤?

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

難易度分析

3 / 5

本題要求考生必須實際建構霍夫曼樹並計算各個字元的編碼長度,需精確比對多個選項的位元數是否與演算法計算結果一致,涉及多步驟的推論與驗證過程。

正確答案:③若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,D需用4 個位元

③ 若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,D需用4 個位元:D (2次) 的頻率較高於 E (1次),在二元樹結構中,其深度不會達到 4 層,實際編碼長度應為 3個位元,故此敘述錯誤。

錯誤選項解析

  • ① 若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,A 需用2 個位元:根據霍夫曼編碼原理,出現頻率最高的 A (4次) 會被放置在樹的較淺層,分配到較短的 2個位元 編碼是正確的。
  • ② 若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,C 需用2 個位元:C (3次) 的出現頻率次之,在構建霍夫曼樹後,其路徑長度分配為 2個位元 符合演算法邏輯。
  • ④ 若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,E 需用3 個位元:E (1次) 為出現頻率最低的字元,會被放置在霍夫曼樹的最深處,分配 3個位元 編碼符合其權重邏輯。
Learning Tip

"此題考點在於 Huffman Coding 的權重分配, remember 出現頻率越高,編碼長度越短。常考陷阱在於考生未實際繪製權重樹而對位元長度產生直覺誤判,建議操作時先計算各字元頻率並由小到大合併節點。"

學員答題分佈

①若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,A 需用2 個位元0%
②若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,C 需用2 個位元0%
③若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,D需用4 個位元0%
④若以霍夫曼碼(Huffman Codes)進行可變長度的編碼,E 需用3 個位元0%

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

相似類型題目