📋 Условие

Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, Ж, З, И, Й, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано.

🔍 Подробное решение

Задача: Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, Ж, З, И, Й, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В, Г, Д, Е, Ж, З, И использовали соответственно кодовые слова 1010, 1101, 010, 00, 1000, 1110, 1001, 0111, 1011. Укажите кратчайшее возможное кодовое слово для буквы Й, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.

Решение:

Нарисуем дерево кодов, используя известные кодовые слова. Видно, что есть три свободные «ветви» дерева кодов, где можно разместить букву Й — это ветви 0-1-1-0, 1-1-0-0 и 1-1-1-1. Все они имеют одинаковую длину, поэтому в ответе будем указывать код, имеющий наименьшее числовое значение, то есть код 0110.

Ответ: 0110

📚 Теория

Префиксные коды и условие Фано. Необходимое и достаточное условие для однозначного декодирования.