Вопрос задан 16.05.2023 в 12:36. Предмет Информатика. Спрашивает Архипова Наташа.

Постройте дерево Хаффмана для одной из следующих фраз: 1. МАМА МЫЛА РАМУ 2. ШЛА САША ПО ШОССЕ 3.

ТКЁТ ТКАЧ ТКАНИ 4. КАРЛ У КЛАРЫ УКРАЛ КОРАЛЛЫ
1 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Фесенко Макс.

Ответ:

3. Ткёт ткач ткани

Объяснение:

Строим дерево по таблице количеств повторений символов:

Символ "Т" повторяется 4 раза

Символ "К" повторяется 3 раза

Символ "Ё" повторяется 1 раз

Символ " " повторяется 2 раза

Символ "А" повторяется 2 раза

Символ "Ч" повторяется 1 раз

Символ "Н" повторяется 1 раз

Символ "И" повторяется 1 раз

Каждый символ является конечным узлом дерева, количество повторений символа это вес узла.

Создадим список нераспределенных узлов по возрастанию весов.

  1. {"Ё"(1)}
  2. {"Ч"(1)}
  3. {"Н"(1)}
  4. {"И"(1)}
  5. {"_"(2)}
  6. {"А"(2)}
  7. {"К"(3)}
  8. {"Т"(4)}

Объединим узлы с минимальным весом {"Ё"(1)} и {"Ч"(1)} в новый узел с весом 1+1=2

и поставим этот узел в список вместо исходных узлов в соответствии с получившимся весом:

  1. {"Н"(1)}
  2. {"И"(1)}
  3. {"1 (2)":{"Ё"(1)},{"Ч"(1)}}
  4. {"_"(2)}
  5. {"А"(2)}
  6. {"К"(3)}
  7. {"Т"(4)}

Объединим узлы с минимальным весом {Н(1)} и {И(1)} в новый узел с весом 1+1=2, поставим этот узел в список и отсортируем по весу узлов:

  1. {"2 (2)":{"Н"(1)},{"И"(1)}}
  2. {"1 (2)":{"Ё"(1)},{"Ч2(1)}}
  3. {"_"(2)}
  4. {"А"(2)}
  5. {"К"(3)}
  6. {"Т"(4)}

Теперь объединяем узлы {"2 (2)":{"Н"(1)},{"И"(1)}} и {"1 (2)":{"Ё"(1)},{"Ч"(1)}} в узел 3 с весом 2+2=4

  1. {"_"(2)}
  2. {"А"(2)}
  3. {"К"(3)}
  4. {"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}}
  5. {"Т"(4)}

Повторим с объединением "_" и "А" в узел 4 с весом 2+2=4

  1. {"К"(3)}
  2. {"4 (4)":{"_"(2)},{"А"(2)}}
  3. {"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}}
  4. {"Т"(4)}

далее объединение узлов "К" и 4 в узел 5 с весом 4+3=7

  1. {"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}}
  2. {"Т"(4)}
  3. {"5 (7)":{"К"(3)},{"4 (4)":{"_"(2)},{"А"(2)}}}

узлы 3 и "Т" объединяем в узел 6 с весом 4+4=8

  1. {"6 (8)":{"3 (4)":{"2 (2)":{"Н"(1)},{"И"(1)}},{"1 (2)":{"Ё"(1)},{"Ч"(1)}}},{"Т"(4)}}
  2. {"5 (7)":{"К"(3)},{"4 (4)":{"_"(2)},{"А"(2)}}}

Оставшиеся 2 узла объединяются в корневой узел 7 с весом 7+8=15 и дерево готово.

код каждого символа получается как путь по дереву от корня до соответствующего листа:

"Т" код равен "11"

"К" код равен "00"

"А" код равен "011"

" " код равен "010"

"И" код равен "1001"

"Н" код равен "1000"

"Ч" код равен "1011"

"Ё" код равен "1010"

Длина кодированного сообщения равна сумме произведений количества повторений каждого символа на длину его кода:

4*2+3*2+1*4+2*3+2*3+1*4+1*4+1*4=42 бит

Длина кодированного сообщения равна 42 бит:

110010101101011000111011010110001110001001

ТКЁТ ТКАЧ ТКАНИ

Длина исходного сообщения 15 байт или 120 бит в ASCII:

сообщение содержит 8 различных символов. Длина кода одного символа при равномерном кодировании равна log₂(8)=3 бит

при равномерном кодировании длина текста равна 15*3=45 бит

Сжатие по отношению к 8-ми битному коду равно 120/42=~2.86

Сжатие по отношению к равномерному коду равно 45/42=~1.07

http://www.bolshoyvopros.ru/questions/3211301-kak-algoritmom-haffmana-postroit-derevo-i-kody-dlja-frazy-tkjot-tkach-tkani.html

0 1
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для построения дерева Хаффмана нужно вычислить частоту встречаемости каждого символа в заданной фразе. Затем эти символы будут использованы для построения дерева, где более часто встречающиеся символы будут иметь меньшие коды.

  1. МАМА МЫЛА РАМУ: Символы: М, А, М, А, ы, Л, А, Р, А, М, У Частота встречаемости: М: 3 А: 4 ы: 1 Л: 1 Р: 1 У: 1

  2. ШЛА САША ПО ШОССЕ: Символы: Ш, Л, А, С, А, Ш, А, П, О, Ш, С, С, Е Частота встречаемости: Ш: 3 Л: 1 А: 4 С: 3 П: 1 О: 1 Е: 1

  3. ТКЁТ ТКАЧ ТКАНИ: Символы: Т, К, Ё, Т, Т, К, А, Ч, Т, К, А, Н, И Частота встречаемости: Т: 4 К: 3 Ё: 1 А: 2 Ч: 1 Н: 1 И: 1

  4. КАРЛ У КЛАРЫ УКРАЛ КОРАЛЛЫ: Символы: К, А, Р, Л, У, К, Л, А, Р, Ы, У, К, Р, А, Л, Л, Ы Частота встречаемости: К: 4 А: 4 Р: 4 Л: 4 У: 2 Ы: 2

Далее следует построить дерево Хаффмана, начиная с символов, имеющих наименьшую частоту.

  1. Для фразы "МАМА МЫЛА РАМУ": 8 /
    М А / \ | 4 4 Ы Л Р | | У М

  2. Для фразы "ШЛА САША ПО ШОССЕ": 13 /
    Ш А / \ | 6 7 С Л /
    3 4 П О Ш | Е

  3. Для фразы "ТКЁТ ТКАЧ ТКАНИ": 12 /
    Т А / \ | 4 8 К Ё / \
    3 5 Ч Т /
    2 3 Н И

  4. Для фразы "КАРЛ У КЛАРЫ

0 3

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос