Задача к ЕГЭ по информатике на тему «Общая длина кода» №1

Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, Ж, решили использовать неравномерный двоичный код, удовлетворяющий условию, что никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Для буквы А использовали кодовое слово 10; для буквы Б — кодовое слово 01. Какова наименьшая возможная сумма длин всех семи кодовых слов?

После составления дерева Фано остается 2 свободных листа: 00 и 11, а букв которые нужно закодировать остается 5. Можно пойти по 2 путям:

1) оба листа раздвоить, получим 4 свободных позиции и один из них еще раздвоить, получим 5 свободных позиций;

2) одному из листов присвоить букву, а второй раздвоить и каждый из полученных листов тоже раздвоить.

При первой схеме длина всех кодовых слов равна 2 ⋅2+ 3⋅3 + 2⋅4 = 21  .

При второй длина всех кодовых слов равна 3⋅2 + 4⋅4 = 22  .

Следовательно выбираем первую стратегию, наименьшая возможная сумма длин всех семи кодовых слов это 21.

Ответ: 21
Оцените статью
Я решу все!