Изменения

Перейти к: навигация, поиск

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

1 байт добавлено, 18:28, 17 декабря 2013
Пример
== Пример ==
Для примера возьмём слово ''"кириллица"''.Возьмем <tex>n=3</tex> (троичная система счисления).Алфавит будет <tex>A= \{</tex> ''к, и, р, л, ц, а'' <tex>\} </tex>, а набор весов <tex>W=\{1, 3, 1, 2, 1, 1\}</tex>.
Будем действовать согласно алгоритму выше;у нас число букв первоначального алфавита <tex>m</tex> равно 6.Если подставить значения <tex>n</tex> и <tex>m</tex> в формулу для оптимального кодирования <tex>m = n + k(n - 1)</tex> ,то получится что <tex>k</tex> не является целым.Но если увеличить число <tex>m</tex> на 1(добавлением фиктивной буквы "я" с весом 0),то можно подобрать целое <tex>k</tex> равное 2.
Таким образом можно записать:
{| class="wikitable"
Таким образом, закодированное слово ''"кириллица"'' будет выглядеть как ''"+--+0-0000-0+0-"''. Длина закодированного слова {{---}} 15 бит. Стоит заметить, что если бы мы использовали для кодирования каждого символа из шести по 2 бита, длина закодированного слова составила бы 18 бит.
 
== Корректность алгоритма Хаффмана для <tex>n</tex>-ичной системы счисления ==
Анонимный участник

Навигация