Для передачи по каналу связи сообщения, состоящего только из букв А, Б, В, Г, решили...

0 голосов
163 просмотров

Для передачи по каналу связи сообщения, состоящего только из букв А, Б, В, Г, решили использовать неравномерный двоичный код: A -01, Б - 000, В - 10. Как нужно закодировать букву Г, чтобы длина кода была минимальной, и допускалось однозначное разбиение закодированного сообщения на буквы? Если таких кодов несколько, укажите код с наименьшим числовым значением.

Выберите один ответ:
001
110
00
11


Информатика (16 баллов) | 163 просмотров
Дан 1 ответ
0 голосов

Нам важно однозначное разбиение, поэтому вариант "00" не подходит, так как его можно спутать с буквой "Б". Другие значение проверим при помощи дерева.


1. Пусть буква "Г" будет записана в первую ветку (1). Распишем ее.

Первой ветке подходит буква "В", так как код начинается с единицы. Рисуем еще ветку, также с единицей и нулем. Получается, что "В" пойдет во вторую ветку (0), а "Г", соответственно, в первую. Итого получаем: В = 10, Г = 11.


2) Пусть "Г" будет во второй ветке (0). С нуля начинаются буквы "А" и "Б", поэтому их тоже пишем. Рисуем еще две ветки. Так как А = 01, то она пойдет в первую ветку, буквы "Б" и "Г" пишем во вторую. "Б" = 000, поэтому пишем во вторую ветку, следовательно, "Г" пойдет в первую. Итого: А = 01, Б = 000, Г = 001.


Теперь сравним полученные значения. Переведем их в десятичную систему счисления.

11₂ = 1*2¹ + 1*2⁰ = 2 + 1 = 3₁₀.

001₂ = 1*0² + 1*0¹ + 1*2⁰ = 0 + 0 + 1 = 1₁₀.


В итоге, значение 001 является минимальным и соответствует однозначному декодированию.


Ответ: 001.


Решение смотри во вложении.


image
(8.6k баллов)