Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, Ж, З, И, Й. решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В, Г, Д, Е, Ж, З, И использовали соответственно кодовые слова 010, 0011, 0111, 0000, 0010, 1110, 110, 1111, 0110. Укажите кратчайшее возможное кодовое слово для буквы Й, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением.
010
Объяснение:
Изобразим все возможные коды длиной не больше 4 в виде дерева (см. рис.)
Красным цветом помечены вершины, которым соответствуют уже занятые коды. Условие Фано запрещает одному коду быть префиксом (началом) другого, желтым цветом отмечены коды, выбор которых будет противоречить условию Фано (например, если занят код 0010, то нельзя выбрать коды 0, 00, 001).
Оставшиеся не закрашенными коды доступны для выбора, они удовлетворяют условию Фано, а значит, код будет допускать однозначное декодирование. По рисунку видно, что наименьшая длина кода равна 3, есть два варианта: 100 и 010. В ответ пойдёт более правый код, у него числовое значение меньше.