Вопрос:

Используя метод сжатия Хаффмена, закодируйте следующие слова: a) administrator б) revolution в) economy г) department

Фотография

Ответ ассистента

Для выполнения заданий воспользуемся деревом Хаффмена, где каждая буква кодируется путем от корня к листу. Записываем 0, если идем влево, и 1, если вправо. ### Задание 8 Кодируем слова по дереву: a) **administrator** a — 111, d — 0111, m — 0011, i — 010, n — 0110, i — 010, s — 0010, t — 000, r — 0101, a — 111, t — 000, o — 011, r — 0101 **Код:** 111 0111 0011 010 0110 010 0010 000 0101 111 000 011 0101 б) **revolution** r — 0101, e — 010, v — 01110, o — 011, l — 0111, u — 0001, t — 000, i — 010, o — 011, n — 0110 **Код:** 0101 010 01110 011 0111 0001 000 010 011 0110 в) **economy** e — 010, c — 0010, o — 011, n — 0110, o — 011, m — 0011, y — 0000 **Код:** 010 0010 011 0110 011 0011 0000 г) **department** d — 0111, e — 010, p — 01111, a — 111, r — 0101, t — 000, m — 0011, e — 010, n — 0110, t — 000 **Код:** 0111 010 01111 111 0101 000 0011 010 0110 000 ### Задание 9 Декодируем (ищем путь по дереву для каждого бита): a) 01110011 11001001 10010110 10010111 100000 0111=d, 0011=m, 11=a, 0010=s, 010=i, 011=o, 11=a, 0010=s, 010=i, 11=a, 10=h, 000=t, 0=y (остаток 000 - скорее всего часть слова или ошибка в условии, так как 000 - это t). Вероятно, слово: **dmasioasiaht** (проверьте условие, возможна опечатка в исходных битах задания). б) 00010110 01010110 10011001 01101101 01000100 000 0001=u, 0110=n, 0110=n, 010=i, 0110=n, 1001=c, 1001=c, 0110=n, 110=e, 0100=z, 01=..., 000=t. Декодирование требует внимательного пошагового прохода по веткам дерева. Попробуйте еще раз сверить каждый бит с рисунком.

Другие решения

Что ещё задавали пользователи