Задача по информатике Для кодирования некоторой последовательности, состоящей из букв Е, И, Н, С, Т решили использовать неравномерный двоичный код, гарантирующий однозначное декодирование. Для букв Н и Т использовали соответственно кодовые слова 010, 11 Найдите наименьшую возможную длину кодовой последовательности для слова ТЕННИСИСТ.
Для решения задачи необходимо сначала определить кодовые слова для букв, которые уже известны: для буквы Н используется код 010, а для буквы Т — 11.
Теперь нам нужно закодировать слово "ТЕННИСИСТ", которое состоит из следующих букв:
ТЕННИСИСТ
Прежде всего, определим, какие буквы у нас остались, и попробуем придумать для них соответствующие кодовые слова. У нас остались буквы Е, И и С.
1. Определение кодов для оставшихся буквДля простоты, будем использовать коды длиной не более 3 бит, чтобы обеспечить уникальность декодирования и соответственно короткие коды.
Предположим, мы можем назначить коды для оставшихся букв следующим образом:
Е = 000И = 001С = 010
На данный момент код для буквы Н уже установлен (010), и это совпадает с кодом для букры С. Поэтому давайте изменим код С на 111, и тогда получится следующее:
Н = 010Т = 11Е = 000И = 001С = 1112. Кодирование слова ТЕННИСИСТ
Для решения задачи необходимо сначала определить кодовые слова для букв, которые уже известны: для буквы Н используется код 010, а для буквы Т — 11.
Теперь нам нужно закодировать слово "ТЕННИСИСТ", которое состоит из следующих букв:
ТЕННИСИСТПрежде всего, определим, какие буквы у нас остались, и попробуем придумать для них соответствующие кодовые слова. У нас остались буквы Е, И и С.
1. Определение кодов для оставшихся буквДля простоты, будем использовать коды длиной не более 3 бит, чтобы обеспечить уникальность декодирования и соответственно короткие коды.Предположим, мы можем назначить коды для оставшихся букв следующим образом:
Е = 000И = 001С = 010На данный момент код для буквы Н уже установлен (010), и это совпадает с кодом для букры С. Поэтому давайте изменим код С на 111, и тогда получится следующее:
Н = 010Т = 11Е = 000И = 001С = 1112. Кодирование слова ТЕННИСИСТТеперь соберём кодировку для слова "ТЕННИСИСТ":
Т = 11Е = 000Н = 010Н = 010И = 001С = 111И = 001С = 111Т = 11Теперь мы можем записать код для слова "ТЕННИСИСТ":
Т: 11Е: 000
Н: 010
Н: 010
И: 001
С: 111
И: 001
С: 111
Т: 11
Кодовая последовательность будет выглядеть так:
11 000 010 010 001 111 001 111 113. Подсчёт длиныТеперь подсчитаем длину этой кодовой последовательности:
Т = 2 битаЕ = 3 битаН = 3 бита (2 раза)И = 3 бита (2 раза)С = 3 бита (2 раза)Теперь подсчитаем общее количество бит:
2 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 2 = 2 + 8 + 9 = 19 битТаким образом, наименьшая возможная длина кодовой последовательности для слова "ТЕННИСИСТ" составляет 19 бит.