哈夫曼問題的貪心選擇性質和最優子結構性質證明

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的一個最優前綴碼,xy是樹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'的前綴碼是最優的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章