Заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором кодовое слово не является началом кодоного слона. Это условие обеспечивает возможность однозначной расшифровки сообносний. Известно, что слона содержит не меньше двух двоичных знаков, в слове КОШКА соответствует код 10101001101000. Какой код соответствует ШОК"
Ответы
Ответ:
Слову "ШОК" соответствует код 00101101.
Объяснение:
Рассматриваем код: 10101001101000, который соответствует слову: КОШКА.
Заметим, что в заданном слове буква "К" встречается больше всех раз - два раза, поэтому будем опираться на это.
Теперь вспоминм условие Фано: никакое кодовое слово не может быть началом другого кодового слова.
Рассмотрим начало слова. Есть несколько вариантов обозначения буквы "К":
- → 1 - не подходит, так как слово содержит не меньше двух знаков;
- → 10 - не подходит, так как при будущих построениях невозможен вариант, где условие Фано не нарушается.
- → 1010 - не подходит, так как при будущих построениях либо нарушится условие Фано, либо не найдётся вторая буква "К".
- → 101 - подходит.
Рассматриваем вариант, когда буква "К" равна "101" в двоичной записи.
В двоичной записи только две записи "101", поэтому это и будут буквы "К". В конце осталось три нуля - это буква "А". Теперь остаётся "01001" между двумя буквами К. Буква "О" будет равна 01, потому что 010 не может быть началом по условию Фано (тогда на букву "Ш" останется 01, а на "О" останется 010, чего нельзя допустить). Поэтому буква "Ш" равна 001.
Имеем:
К = 101
О = 01
Ш = 001
А = 000
Собираем слово "ШОК": 00101101
P.S. к ответу прикреплено не очень красивое, но решение этого задания логически, на фото.
Ответ: 00101101.
