Алгоритм Хаффмана для n ичной системы счисления

Материал из Викиконспекты
Версия от 22:18, 11 декабря 2013; 79.175.3.147 (обсуждение) (Новая страница: «== Алгоритм == Для построения <tex>n</tex>-ичного кода Хаффмана надо использовать операцию сжат...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Алгоритм

Для построения [math]n[/math]-ичного кода Хаффмана надо использовать операцию сжатия алфавита, при которой каждый раз сливаются не две, а [math]n[/math] букв исходного алфавита, имеющих наименьшие вероятности.Сжатие алфавита, при котором [math]n[/math] букв заменяются на одну, приводит к уменьшению числа букв на [math]n-1[/math]; так как для построения [math]n[/math]-ичного кода, очевидно, требуется, чтобы последовательность сжатий в конце концов привела нас к алфавиту из [math]n[/math] букв (сопоставляемых [math]n[/math] сигналам кода), то необходимо, чтобы число [math]m[/math] букв первоначального алфавита было представимо в виде [math]n = m + k(m - 1[/math] ),[math]k \in \mathbb{Z}[/math]. Этого, однако, всегда можно добиться, добавив, если нужно, к первоначальному алфавиту еще несколько фиктивных букв, вероятности которых считаются равными нулю. После этого построение [math]n[/math]-ичного кода Хаффмана и доказательство его оптимальности (среди всех [math]n[/math]-ичных кодов) проводятся уже точно так же, как и случае двоичного кода.