【データ構造】ハフマン木の理解と最適性の証明

1. ハフマン木の構造

授業で教えてもらった施工方法より明確に見えますが、最適性の証明は授業や本では示されていません。

2. 最適性の証明

そこで私はインターネットで検索し、より良い証拠を入手し、以下のように再掲しました (若干の修正と補足を加えて): (
出典 https://blog.csdn.net/weixin_42881755/article/details/90714191)
実際に最適であることを証明するには、それは次のことを証明することです:
ここに画像の説明を挿入1. まず、最小の重みを持つ 2 つの数値が最下位の兄弟ノードであることを証明します。

VL 最大 V_{L_{max}}なのでVLマックス_はパスの長さが最も長い分岐点です。その子ノードはリーフ ノードである必要があります。VL 最大 V_{L_{max}}と仮定します。VLマックス_リーフ ノードは 1 つだけあります、V wx V_{w_x}Vw×、子ノードV wx V_{w_x}を使用できますVw×ブランチノードの代わりにVL max V_{L_{max}}VLマックス_新しいツリーT n ∗ T_{n}^*を取得しますTn,则有:W ( T n ∗ ) = W ( T n ) − wx W ( T_{n}^*) = W ( T_n ) − w_xW ( T)n=W ( T)w×、 T n T_n付きT最適ツリーと矛盾します。この場合、最下層には 2 つのリーフ ノードが存在する必要があります。

これら 2 つのノードが最小でない場合、最小値をこれら 2 つの点と交換すると、加重パスは確実に減少し、最適なツリーと矛盾します。, したがって、最小の重みを持つ 2 つの数値が最下位の兄弟ノードであると結論付けられます。

2. 最適なツリーが縮小および拡張後も依然として最適であることを証明する

(ここで注意すべき点は、データを格納する各ノードはリーフノードであるため、他のノードに影響を与えることなく自由に拡張およびマージできることです)

V w 1 、 V w 2 V_{w_1}、V_{w_2} Vw1Vw22 つの葉ノードが縮小して新しいツリーが得られますT n − 1 ∗ ( w L max = w 1 + w 2 ) T_{n-1}^*(w_{L_{max} } = w_1+w_2)Tn 1wLマックス_=w1+w2) ,令带权为{ w 3 、 w 4 . . . . w n 、 w 1 + w 2 w_3、w_4....w_n、w_1+w_2 w3w4.... ww1+w2}最適なツリーはT n − 1 T_{n-1}ですTn 1、逆展開して得られる木はT n ∗ T_n^*Tn内容:
W ( T n ) = W ( T n − 1 ∗ ) + ( w 1 + w 2 ) W(T_n)=W(T_{n-1}^*)+(w_1+w_2)W ( T)=W ( T)n 1+( w1+w2)
W ( T n − 1 ) = W ( T n ∗ ) − ( w 1 + w 2 ) W(T_{n-1})=W(T_n^*)-(w_1+w_2)W ( T)n 1=W ( T)n( w1+w2)
整理得:
W ( T n ) − W ( T n ∗ ) + W ( T n − 1 ) − W ( T n − 1 ∗ ) = 0 W(T_n)-W(T_{n}^*)+ W(T_{n-1})-W(T_{n-1}^*)=0W ( T)W ( T)n+W ( T)n 1W ( T)n 1=T n 、T n − 1 T_n、T_{n-1}
のため、 0Tn 1は、W ( T n ) = W ( T n − 1 ∗ ) W(T_n) = W(T_{n-1}^*) の場合にのみ最適な木です。W ( T)=W ( T)n 1)そしてW ( T n − 1 ) = W ( T n − 1 ∗ ) W(T_{n-1}) = W(T_{n-1}^*)W ( T)n 1=W ( T)n 1)等式が成立する場合。つまり、T n ∗ 、T n − 1 ∗ T_n^*、T_{n-1}^*Tnn 1最適な木でもあります。
という命題が証明された。

3. ハフマン ツリーの作成
いくつかの重みを取得したので、それを最適なコーディング ツリーに配置したいと思います。上記の結論によると、構築原則は次のとおりです: 一番下の葉ノードとして最小の 2 つを見つけ、縮小 ( 2 つを合計し、残りの重りと混合し、操作を繰り返します。実際、これは冒頭で示したハフマン木の構築原理です。

要約すると、ハフマン木が最適なコーディング木であるという結論が得られました。

#学習・転載・侵入・削除について

おすすめ

転載: blog.csdn.net/qq_56199570/article/details/121403637