民國112年 第2梯次 電腦軟體設計(JAVA)乙級 學科

第27題

若要對一組訊息AAABCDDDDEEE 做二進位數的編碼,其中每個字元代碼為可變長度,當使用 霍夫曼碼(Huffman Codes)來進行編碼時,此訊息編碼後最…

題目

若要對一組訊息AAABCDDDDEEE 做二進位數的編碼,其中每個字元代碼為可變長度,當使用 霍夫曼碼(Huffman Codes)來進行編碼時,此訊息編碼後最少需要多少位元?

  1. (1) 36
  2. (2) 15
  3. (3) 26
  4. (4) 30

官方答案

(3) 26

解析

訊息 AAABCDDDDEEE 共 12 字元,頻率:A=3、B=1、C=1、D=4、E=3。霍夫曼編碼每次合併頻率最小兩節點:先 B(1)+C(1)=2;再 [BC](2)+A(3)=5;E(3)+D(4)=7;最後 [BCA](5)+[DE](7)=12。編碼長度(深度)為 B、C 各 3 位元,A、D、E 各 2 位元。總位元數 = 1×3 + 1×3 + 3×2 + 4×2 + 3×2 = 3+3+6+8+6 = 26 位元,故最少需 26 位元。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料