По каналу связи сообщения, каждое из которых содержит 16 букв а, 8 букв б, 4 буквы в и 4 буквы г (других букв в сообщениях нет). каждую букву кодируют двоичной последовательностью. при выборе кода учитывались два требования: а) ни одно кодовое слово не является началом другого (это нужно, чтобы код допускал однозначное декодирование); б) общая длина закодированного сообщения должна быть как можно меньше. какой код из ниже следует выбрать для кодирования букв а, б, в и г? 1) а: 0, б: 10, в: 110, г: 111 2) а: 0, б: 10, в: 01, г: 11 3) а: 1, б: 01, в: 011, г: 001 4) а: 00, б: 01, в: 10, г: 11 и объясните, почему, .
Из 1) и 4) код короче в 1)ответе
1) 1*16+2*8+3*4+3*4=56
4)2*16+2*8+2*4+2*4=64
отв. 1
Следовательно, для минимизации длины сообщения (условие "б") самым коротким должен быть символ А, несколько длиннее может быть символ Б и самые длинные - символы В и Г. По этой причине вариант 4) с равной длиной кодов не рассматриваем. Далее, достаточно компактными выглядят коды в варианте 2), но А=0 и В=01 нарушают условие "а" (код 0 является началом кода 01). Остаются варианты 1) и 3)
В варианте 1) нарушений условий нет. В варианте 3) код буквы Б 01 является началом кода буквы В 011 и это нарушает условие "а".
ответ: 1)