Вопрос:

Сообщения содержат только буквы А, В, Д, Е, К, О, Т, Ь. Для кодирования используется двоичный код, в котором никакое кодовое слово не совпадает с началом другого кодового слова. Кодовые слова для некоторых букв известны: В - 1010, A - 100, Т - 0101, О - 110, Е – 001. Укажите минимальную возможную длину кода для слова ВОТВЕДЬКАК.

Ответ:

Для решения задачи необходимо построить дерево кодов (или использовать условие Фано) и определить коды для букв, для которых они еще не заданы. Начнем с известных кодов:

B - 1010

A - 100

T - 0101

O - 110

E - 001

Остались буквы Д, К, Ь. Нам нужно минимизировать длину кода для слова ВОТВЕДЬКАК, поэтому нужно эффективно использовать оставшиеся коды.

Коды должны удовлетворять условию, что ни один код не является началом другого. Это означает, что нельзя использовать коды, начинающиеся с 1010, 100, 0101, 110, 001.

Рассмотрим возможные варианты кодов для оставшихся букв:

Буква Д: Код 111

Буква Ь: Код 011

Буква К: Код 1011

Теперь у нас есть все коды:

B - 1010

O - 110

T - 0101

B - 1010

E - 001

Д - 111

Ь - 011

K - 1011

A - 100

K - 1011

Длина кода для слова ВОТВЕДЬКАК будет суммой длин кодов каждой буквы:

4 + 3 + 4 + 4 + 3 + 3 + 3 + 4 + 3 + 4 = 35

Ответ: 35
Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие