Зная частоты каждого символа, можно ли определить максимальную высоту дерева без применения алгоритма Хаффмана? Есть ли формула, которая дает эту высоту дерева?
Зная частоты каждого символа, можно ли определить максимальную высоту дерева без применения алгоритма Хаффмана? Есть ли формула, которая дает эту высоту дерева?
Ответы:
Кодирование Хаффмана (асимптотически) попадает в один бит энтропии последовательности. Это означает, что если вы вычисляете энтропию частот вашего символа, вы будете (асимптотически) в пределах одного бита от средней длины (то есть высоты) вашего кода. Вы можете использовать это среднее значение, чтобы ограничить самую длинную длину (в среднем), или вы можете использовать комбинаторные методы, чтобы получить детерминированные границы.
Патологический случай был бы, когда отсортированная частота символа напоминает частоту последовательности Фибоначчи. N: = количество символов. для N> 2 максимально возможная высота: N-1. для N == 1 или 2: 1