Drzewo Huffmana i maksymalna głębokość


9

Znając częstotliwości każdego symbolu, czy można określić maksymalną wysokość drzewa bez zastosowania algorytmu Huffmana? Czy istnieje wzór, który określa wysokość tego drzewa?


1
Spróbuj pobawić się kilkoma przykładami i sprawdź, czy możesz znaleźć jakieś przydatne kryterium. Tak postąpiłbym, gdybym próbował odpowiedzieć na twoje pytanie, ale prawdopodobnie lepiej, żebyś zrobił to sam ...
Yuval Filmus

Tak, próbowałem już z wieloma przykładami, ale szukam wyrażenia literalnego, na przykład asymptotycznego wiązania, funkcji liczby symboli ...
user7060

1
Pod względem liczby symboli z jednej strony nie można zrobić nic lepszego niż az drugiej strony . n1log2n
Yuval Filmus

Przepraszam. Myślałem o liczbie symboli i ich częstotliwości. Na przykład, czy możliwe jest podanie maksymalnej głębokości, patrząc po prostu na najniższą częstotliwość spośród wszystkich symboli? jest zaciętą pułapką na głębokości, interesuje mnie ścisła granica. n1
user7060

Spróbowałbym spojrzeć na i sprawdzić, czy jest to związane z głębią. Możesz także spróbować wymyślić rekurencję odpowiadającą rzeczywistemu algorytmowi i sprawdzić, czy coś ci to daje. maxlog2pi
Yuval Filmus

Odpowiedzi:


2

Kodowanie Huffmana (asymptotycznie) wchodzi w jeden bit entropii sekwencji. Oznacza to, że jeśli obliczysz entropię częstotliwości symboli, będziesz (asymptotycznie) w granicach jednego bitu średniej długości (tj. Wysokości) swojego kodu. Możesz użyć tej średniej, aby związać najdłuższą długość (średnio), lub możesz użyć metod kombinatorycznych, aby uzyskać granice deterministyczne.


0

Przypadek patologiczny miałby miejsce, gdy posortowana częstotliwość symboli przypomina częstotliwość sekwencji Fibonacciego. N: = liczba symboli. dla N> 2, maksymalna możliwa wysokość: N-1. dla N == 1 lub 2: 1


1
Nie o to pyta pytanie.
Tom van der Zanden

W rzeczy samej. Pytanie dotyczy każdego przypadku, gdy mówisz o najgorszym przypadku.
Raphael
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.