ハフマンツリーと最大深度


9

各シンボルの周波数を知っていると、ハフマンアルゴリズムを適用せずにツリーの最大の高さを決定することは可能ですか?この木の高さを与える式はありますか?


1
いくつかの例を試してみて、有用な基準が見つかるかどうかを確認してください。それが私があなたの質問に答えようとした場合に私がすることですが、おそらくあなた自身でそれを行う方が良いでしょう...
Yuval Filmus

はい、私はすでに多くの例を試してみましたが、たとえば、漸近的境界、シンボル数の関数など、
リテラル

1
シンボルの数に関しては、一方ではを超えることはできず、他方ではを実行できます。ログ2 Nをn1log2n
Yuval Filmus 14

ごめんなさい。シンボルの数とその頻度について考えていました。たとえば、すべてのシンボルの中で最も低い周波数を単純に見れば、最大深度を与えることができますか?は、奥行きの粗い境界です。きつい境界に興味があります。n1
user7060 2014

私はを調べて、それが深度に関連しているかどうかを確認します。また、実際のアルゴリズムに対応する再帰を考え出して、それが何かを与えるかどうかを確認することもできます。maxlog2pi
Yuval Filmus 14

回答:


2

ハフマン符号化は(漸近的に)シーケンスのエントロピーの1ビット以内に収まります。これは、シンボル周波数のエントロピーを計算する場合、コードの平均長(つまり高さ)の1ビット以内に(漸近的に)なることを意味します。この平均を使用して、最長の長さを(平均して)制限できます。または、組み合わせメソッドを使用して、決定的な境界を取得できます。


0

ソートされたシンボルの頻度がフィボナッチ数列の頻度に似ている場合は、病理学的なケースになります。N:=シンボルの数。N> 2の場合、可能な最大の高さ:N-1。N == 1または2の場合:1


1
これは質問が尋ねるものではありません。
トムファンデルザンデン

確かに。この質問は、最悪のケースについて話しているときに、どんなケースでも尋ねます。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.