82
правки
Изменения
Нет описания правки
# Для каждого символа создадим <tex>L</tex> монет номиналами <tex>2^{-1}..2^{-L}, каждая из которых имеет вес <tex>p_{i}</tex>.
# С помощью описанного выше алгоритма выберем набор монет суммарным номиналом <tex>n - 1</tex> (<tex>n</tex> - размер алфавита) с минимальным суммарным весом.
# Посчитаем массив <tex>H=\{h_{1},h_{2},...,h_{n}\}</tex>, где <tex>h_{i}</tex> - количество монет номинала <tex>p_{i}</tex>, которые попали в наг наш набор. При этом <tex>h_{i}</tex> - это длина кодового слова для <tex>i-го</tex> символа.Зная длины кодовых слов, легко восстановить и сам код.