哈夫曼樹原理,及構造方法
哈夫曼樹
一. 目的:找出存放一串字元所需的最少的二進位制編碼
二. 原理:首先統計出每種字元出現的頻率!(也可以是概率)//權值
------------------------------------------------------------------------------------------------
例如:頻率表 A:60, B:45, C:13 D:69 E:14 F:5 G:3
第一步:找出字元中最小的兩個,小的在左邊,大的在右邊,組成二叉樹。在頻率表中刪除此次找到的兩個數,並加入此次最小兩個數的頻率和。
F和G
重複第一步:
-------------------------------------------------------------------------------------------------
頻率表 A:60, B:45, C:13 D:69 E:14 FG:8
最小的是 FG:8與C:13,因此如圖,並返回FGC的和:21給頻率表。
---------------------------------------------------------------------------------------------------
重複第一步:
---------------------------------------------------------------------------------------------------
頻率表 A:60 B: 45 D: 69 E: 14 FGC: 21
如圖
-----------------------------------------------------------------------------------------------------
重複第一步
-----------------------------------------------------------------------------------------------------
頻率表 A:60 B: 45 D: 69 FGCE: 35
-----------------------------------------------------------------------------------------------------
重複第一步
-----------------------------------------------------------------------------------------------------
頻率表 A:60 D: 69 FGCEB: 80
-----------------------------------------------------------------------------------------------------
重複第一步
-----------------------------------------------------------------------------------------------------
頻率表 AD:129 FGCEB: 80
新增 0 和 1,規則左0 右1
頻率表 A:60, B:45, C:13 D:69 E:14 F:5 G:3
每個 字元 的 二進位制編碼 為
A:10
B:01
C:0011
D:11
E:000
F:00101
G:00100