Регистрация
Войти
Стать экспертом Правила
Информатика

По каналу связи передаются сообщения, содержащие только заглавные русские буквы. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б -10. Г-1110, Д-0111. Е - 010. Известно, что для кодирования слова АНАНАС потребовалось 16 двоичных знаков. Какое кодовое слово соответствует букве Н?Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.Ответ:.

ОТВЕТЫ

Нужно закодировать ещё четыре буквы (В, Д, Е, Н), а в дереве есть три свободных узла. Каждое продолжение дерева из свободного узла создаёт два узла вместо одного, то есть количество узлов увеличивается на 1 . Значит, нужно продолжить дерево в одном месте. С точки зрения длины кодов это можно сделать двумя способами:

из узла 10 (длина кода 2 ) получить два узла с длиной кода 3 ;

из узла 001 или 111  (длина кода 3 ) получить два узла с длиной кода 4 .

В первом случае мы получим новые коды длиной 3,3,3,3,  во втором – 2,3,4,4.

Подсчитаем количество знаков для кодирования слова ВВЕДЕНИЕ в каждом их этих случаев. В первом случае длина всех добавленных кодов (буквы В, Д, Е, Н) одинакова –3  бита. Длина кода буквы И задана – тоже 3  бита. Всего получается 8х3=24 бита.

Во втором случае длина добавленных кодов разная. Очевидно, что для получения наименьшей длины самым коротким должен быть код буквы Е (она встречается чаще всех), следующим – код буквы В. Тогда длина кода для Е – 2 бита, для В –3 , для Д и Н – по4 . Всего потребуется  бита. 3х2+2х3+4+4+3=23 бита

489
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам