1. 試證明哈夫曼問題具有貪心選擇性質:
二叉樹T表示字符集C的一個最優前綴碼,證明可以對T作適當修改後得到一棵新的二叉樹T”,在T”中x和y是最深葉子且爲兄弟,同時T”表示的前綴碼也是C的最優前綴碼。設b和c是二叉樹T的最深葉子,且爲兄弟。設f(b)<=f(c),f(x)<=f(y)。由於x和y是C中具有最小頻率的兩個字符,有f(x)<=f(b),f(y)<=f(c)。首先,在樹T中交換葉子b和x的位置得到T',然後再樹T'中交換葉子c和y的位置,得到樹T''。如圖所示:
由此可知,樹T和T'的前綴碼的平均碼長之差爲:
因此,T''表示的前綴碼也是最優前綴碼,且x,y具有相同的碼長,同時,僅最優一位編碼不同。
2. 試證明哈夫曼問題具有最優子結構性質:
二叉樹T表示字符集C的一個最優前綴碼,x和y是樹T中的兩個葉子且爲兄弟,z是它們的父親。若將z當作是具有頻率f(z)=f(x)+f(y)的字符,則樹T’=T-{x,y}表示字符集C’=C-{x, y} ∪ { z}的一個最優前綴碼。因此,有:
如果T’不是C’的最優前綴碼,假定T”是C’的最優前綴碼,那麼有
,顯然T”’是比T更優的前綴碼,跟前提矛盾!故T'所表示的C'的前綴碼是最優的。