Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фа-но. Для буквы А использовали кодовое слово 0; для буквы Б - кодовое слово 10. Какова наименьшая возможная сумма длин всех шести кодовых слов?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
спросил 24 Март, 19 от Ирина Вольт в категории школьный раздел


решение вопроса

+8
Требуется построить код, отвечающий условию Фано. Проще всего это делать, рисуя двоичное дерево возможных кодов. Ясно, что код любой из оставшихся 4 букв будет начинаться на 11, так как любой код, начинающийся на 0 или на 10, не будет удовлетворять условию Фано. Для кодирования 4 символов можно использовать равномерный код длины 4: 1100, 1101, 1110, 1111. Можно для одного из символов использовать трехбитный код, например 110. Тогда длины трех оставшихся кодов будут, соответственно, 4, 5 и 5. (1110, 11110 и 11111). В первом случае сумма длин шести слов равна 19 бит, во втором случае 1+2+3+4+5+5=20, что на 1 бит больше.
Ответ: 19
ответил 24 Март, 19 от stravira

Связанных вопросов не найдено

Обучайтесь и развивайтесь всесторонне вместе с нами, делитесь знаниями и накопленным опытом, расширяйте границы знаний и ваших умений.

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.