Задача
Для кодирования некоторой последовательности, состоящей из букв Л, М, Н, П, Р, решили использовать неравномерный двоичный код, удовлетворяющий условию, что никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Для букв Л, М, Н использовали соответственно кодовые слова 00, 01, 11. Для двух оставшихся
букв – П и Р – кодовые слова неизвестны.
Укажите кратчайшее возможное кодовое слово для буквы П, при котором код будет удовлетворять указанному условию. Если таких кодов несколько, укажите код с наименьшим числовым значением.
Решение
Решать данное задание мы будем при помощи дерева кодирования, которое позволяет соблюсти условие Фано. Влево будем откладывать нули, вправо — единицы. Сначала отобразим на дереве известные кодовые слова. Напомним, чтобы соблюсти условие Фано, нельзя начинать ветвь из листа (из буквы).
Проанализировав дерево, замечаем, что имеется один узел, из которой можно начать ветку:
Таким образом, для недостающих букв у нас получилось два кодовых слова: 100 и 101 (стоит отметить, что буквам П и Р может соответствовать любое из этих кодовых слов).
В ответе необходимо указать код с наименьшим числовым значением - 100.
Ответ: 100.