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

0 голосов
26 просмотров

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

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

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


Информатика (152 баллов) | 26 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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

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

(3.2k баллов)