Информатика, опубликовано 2018-08-22 18:52:19 by Гость

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

Ответ оставил Гость

Частота Буквы Код
7 о  11
7 р  101
6 ф 100
4 а  0111
4 л  0110
3 г   0101
3 и  0100
3 ю 00111
3 _  00110
2 с  00101
2 т  00100
1 в  00011
1 к  00010
1 у  00001
Итого: 7*2+7*3+6*3+4*4+4*4+3*4+3*4+3*5+3*5+2*5+1*5+1*5+1*5 = 164

Главное помнить, что структура кода префиксная, т.е код любого символа не должен совпадать с началом другого. Удачи!

Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.

Форма вопроса доступна на полной версии этой страницы.