Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад
Сообщить о проблеме
Задание #291238
Задание было решено верно
Задание было решено неверно

По каналу связи передаются сообщения, содержащие только буквы из набора: В, Д, К, Н, О, Р. Для передачи используется двоичный код, удовлетворяющий условию Фано. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Кодовые слова для некоторых букв известны: Н — $0$, К — $1001$. Для четырёх оставшихся букв В, Д, О и Р кодовые слова неизвестны.

Какое количество двоичных знаков потребуется для кодирования слова КОНОВОД, если известно, что оно закодировано минимально возможным количеством двоичных знаков?

Буква Н имеет код $0$, поэтому все остальные кодовые слова должны начинаться с $1$.

Код $1$ использовать нельзя, так как он является началом кода буквы К — $1001$. Код $10$ также использовать нельзя, поскольку он является началом кода $1001$.

Единственное возможное кодовое слово длины $2$ — $11$. Его выгодно назначить букве О, поскольку она встречается в слове КОНОВОД $3$ раза.

Остальные буквы можно закодировать так:

БукваКодовое слово
Н$0$
К$1001$
О$11$
В$1000$
Д$1010$
Р$1011$

Все кодовые слова удовлетворяют условию Фано.

Сделать сумму длин кодов букв В и Д меньше $8$ нельзя. В ветви $10$ уже расположен код К — $1001$, и в ней необходимо разместить ещё три кодовых слова. Поэтому для двух букв В и Д минимальная суммарная длина равна $4+4=8$.

В слове КОНОВОД:

  • К встречается $1$ раз;
  • О — $3$ раза;
  • Н — $1$ раз;
  • В — $1$ раз;
  • Д — $1$ раз.

Общая длина закодированного слова: $4+3\cdot2+1+4+4=19$.

Показать
Очки опыта 20
Спросить Зави
0 заданий сегодня

Предложить улучшение