Помогите решить перфиксный код.

Помогите решить перфиксный код.

Задать свой вопрос
1 ответ
Префиксное кодирование значит, что ни одно кодовое слово не является началом (префиксом) иного кодового слова.

В строке BADECDACBEDADCEB 3 буковкы A, 3 буковкы B, 3 буковкы C, 4 буквы D, 3 буквы E. На кодирование букв B и C отводится по 2 колочена, на букву E - 3 бита. Тогда всего на эти буковкы ушло 3 * 2 + 3 * 2 + 3 * 3 = 21 бит, значит, на буковкы A и D отводится 38 - 21 = 17 бит.

Пусть на кодирование буквы A уходит A бит, длина кодового слова для буквы D одинакова D. Тогда 3A + 4D = 17.

4D - четное число, чтоб сумма 3A + 4D была нечетной, A должно быть нечётным. A не может быть одинаково 1 либо 5, тогда D не целое. Если A = 3, то D = 2. Если A gt;= 7, то D lt; 0. Означает, A = 3 и D = 2.

Кодов из 2-ух битов есть 4: 00, 01, 10, 11. Второй и 3-ий не подходят, так как это коды для иных букв, 1-ый - префикс для кода E. Остается один незанятый вариант для D - это 11.

Коды из трёх символов не могут начинаться с 01, 10 и 11 - это занятые коды. Означает, код для А начинается с 00. 000 теснее занято, потому единственный вариант - 001.

Ответ. A: 001, D: 11.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт