Марина недавно изучила алгоритм Хаффмана. Она помнит, что идея, положенная в основу...

0 интересует 0 не интересует
56 просмотров

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

флюорографист флюорографировал флюорографистку

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


спросил от Начинающий (152 баллов) в категории Информатика
1 Ответ
0 интересует 0 не интересует
ответил от Одаренный (3.2k баллов)
 
Лучший ответ

ЧастотаБуквы Код
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

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

...