Твой ответ не правильный, правильный ответ - 10.
Фано-код – это префиксный код, в котором более частые символы получают более короткие коды, чем реже встречающиеся символы.
Для решения задания нужно составить таблицу частотности встречаемости символов:
- О - 2 раза
- С - 1 раз
- К - 1 раз
- А - 1 раз
Далее нужно упорядочить символы по убыванию их частоты и разбивать на группы буквы с равными или близкими частотами. Для каждой группы $G_i$ находится суммарная частота символов этой группы, затем производится разбиение группы на две подгруппы $G_{i1}$ и $G_{i2}$ следующим образом: подгруппа $G_{i1}$ будет содержать те символы, суммарная частота которых меньше или равна половине суммарной частоты символов группы $G_i$, а подгруппа $G_{i2}$ - все остальные символы группы $G_i$. Затем каждой подгруппе присваивается двоичный код, причём подгруппе с большей суммарной частотой присваивается 1 в младшем разряде.
Таким образом, чтобы закодировать последовательность ОСОКА нужно составить таблицу кодов символов и закодировать каждый символ:
- О: 0
- С: 10
- К: 110
- А: 111
Таким образом, чтобы закодировать слово ОСОКА, нужно записать коды каждой буквы: 010 10 0 111. Всего нужно 10 символов.
Попроси, оценить твой ответ на задание лайком или дизлайком.
