Для передачи сообщений нужно использовать неравномерный двоичный код
Формулировка задания: По каналу связи передаются сообщения, содержащие только 4 буквы. Для передачи сообщений нужно использовать неравномерный двоичный код, допускающий однозначное декодирование; при этом сообщения должны быть как можно короче. Шифровальщик может использовать один из перечисленных ниже кодов. Какой код ему следует выбрать?
Задание входит в ЕГЭ по информатике для 11 класса под номером 5 (Кодирование и декодирование информации).
Рассмотрим, как решаются подобные задания на примере.
По каналу связи передаются сообщения, содержащие только 4 буквы: А, И, С, Т. В любом сообщении больше всего букв А, следующая по частоте буква — С, затем — И. Буква Т встречается реже, чем любая другая.
Для передачи сообщений нужно использовать неравномерный двоичный код, допускающий однозначное декодирование; при этом сообщения должны быть как можно короче. Шифровальщик может использовать один из перечисленных ниже кодов. Какой код ему следует выбрать?
- А−0, И−1, С−00, Т−11
- С−1, И−0, А−01, Т−10
- А−1, И−01, С−001, Т−000
- С−0, И−11, А−101, Т−100
Проверим каждый код на однозначное декодирование и выберем наиболее оптимальный из них. Оптимальным вариантом будет тот, при котором самые используемые буквы будут иметь самый короткий код.
Вариант 1
Данный код не является однозначно декодируемым, так как 00 можно расшифровать как АА или С, а 11 можно расшифровать как ИИ или Т.
Вариант 2
Данный код не является однозначно декодируемым, так как 10 можно расшифровать как СИ или Т, а 01 можно расшифровать как ИС или А.
Вариант 3
Данный код является однозначно декодируемым, так как он является префиксным (ни одно слово не является началом другого слова).
Вариант 4
Данный код также является однозначно декодируемым, так как он является префиксным (ни одно слово не является началом другого слова).
Значит, нужно сделать выбор между вариантами 3 и 4. Вариант 3 предпочтительнее, так как буква А в сообщениях встречается чаще всего и она имеет самый короткий код именно в варианте номер 3.
3
Нашли ошибку? Выделите текст и нажмите Ctrl + Enter.
- Для групповых операций с файлами используются маски имен файлов
- Для кодирования сообщения, состоящего только из букв А, Б, В и Г
- Для 5 букв латинского алфавита заданы их двоичные коды
- Для передачи чисел по каналу с помехами используется код проверки четности
- Для передачи данных по каналу связи используется 5-битовый код
- Для кодирования некоторой последовательности, состоящей из букв
Есть другой способ решения?