Нужна ! по каналу связи сообщения, каждое из которых содержит 10 букв а, 5 букв б, 20 букв в и 5 букв г (других букв в сообщениях нет). каждую букву кодируют двоичной последовательностью. при выборе кода учитывались два требования: а) ни одно кодовое слово не является началом другого (это нужно, чтобы код допускал однозначное декодирование); б) общая длина закодированного сообщения должна быть как можно меньше. какой код из ниже следует выбрать для кодирования букв а, б, в и г? 1) а: 1, б: 01, в: 001, г: 111 2) а: 00, б: 01, в: 10, г: 11 3) а: 0, б: 10, в: 11, г: 111 4) а: 10, б: 111, в: 0, г: 110
196
228
Ответы на вопрос:
Если нужно выбрать из вариантов, достаточно проверить, что код префиксный и найти общую длину сообщения в каждом случае. 1) ✔ префиксныйдлина а: 1, длина б: 2, длина в: 3, длина г: 3длина сообщения: 10 * 1 + 5 * 2 + 20 * 3 + 5 * 3 = 10 + 10 + 60 + 15 = 95 бит2) ✔ префиксныйдлины кодовых слов: 2длина сообщения: (10 + 5 + 20 + 5) * 2 = 40 * 2 = 80 бит3) ✘ не префиксный (11 - префикс 111)4) ✔ префиксный длина а: 2, длина б: 3, длина в: 1, длина г: 3 длина сообщения: 10 * 2 + 5 * 3 + 20 * 1 + 5 * 3 = 20 + 15 + 20 + 15 = 70 бит наиболее оптимальный код 4). если бы нужно было бы найти какое-нибудь оптимальное префиксное кодирование, можно было бы построить код хаффмана. выписываем частоты символов, а затем объединяем наименее часто встречающиеся символы, почлучая кодовое дерево. а - 10, б - 5, в - 20, г - 5 а - 10, (бг) - 10, в - 20 (а(бг)) - 20, в - 20 (в(а(бг)) - 40 если в этой записи есть (xy), то к коду любой буквы из x приписываем слева 0, для любого символа из y - 1. начинаем с пустых кодов: (бг) -> б: 0, г: 1 (а(бг)) -> а: 0, б: 10, г: 11 (в(а(бг)) -> в: 0, а: 10, б: 110, г: 111. доказано, что такой код будет оптимальным.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ВоительЧерноснежка13.08.2020 06:55
-
арут429.05.2022 09:54
-
Зуев69302.05.2023 10:55
-
DariyaKnyazeva18.11.2022 01:35
-
Kosik151207.05.2020 04:56
-
двоишник22833307.11.2021 03:57
-
kuznetsovapoli13.06.2022 21:53
-
сова15424.03.2023 21:44
-
оля19992586745223.11.2020 12:53
-
slojnaa23.04.2022 12:53
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.