Марина недавно изучила алгоритм Хаффмана. Она помнит, что идея, положенная в основу кодировании Хаффмана, основана на частоте появления символа в последовательности. Символ, который встречается в последовательности чаще всего, получает очень маленький код, а символ, который встречается реже всего, получает, наоборот, очень длинный код. Марина решила поупражняться в кодировании на примере своей любимой скороговорки: флюорографист флюорографировал флюорографистку Определите, сколько бит будет содержать скороговорка после кодирования. Не забудьте, что пробелы также кодируются, как и все остальные символы (буквы). Слова разделены одинарными пробелами, перед первым словом и после последнего пробелов нет. В качестве ответа выведите одно целое число — количество бит в сжатой строке, например, 1.

задан 30 Дек '16 12:06

10|600 символов нужно символов осталось
1

У меня получилось так: различных символов всего 14, включая пробел. Это в к у (1 раз), с т _ (2 раза), г и ю (3 раза), а л (4 раза), ф (6 раз), о р (7 раз). Итого 46 символов в строке, считая повторы.

Применение алгоритма Хаффмана дало следующие длины кодовых слов: 5 для вкус, 4 для т_гиюа, 3 для лфор. Общая длина закодированного сообщения: 5(1+1+1+2)+4(2+2+3+3+3+4)+3(4+6+7+7)=25+68+72=165 бит.

ссылка

отвечен 30 Дек '16 12:43

10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×91

задан
30 Дек '16 12:06

показан
604 раза

обновлен
30 Дек '16 12:43

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru