Построй дерево Хаффмана для фразы У ПЕРЕПЕЛА И ПЕРЕПЕЛКИ ПЯТЬ ПЕРЕПЕЛЯТ.
Пошаговый ответ:
1. Подсчет частоты встречаемости каждого символа в фразе:
— Буква «У» встречается 1 раз.
— Буква «П» встречается 6 раз.
— Буква «Е» встречается 5 раз.
— Буква «Р» встречается 2 раза.
— Буква «К» встречается 2 раза.
— Буква «Л» встречается 1 раз.
— Буква «И» встречается 1 раз.
— Буква «Т» встречается 2 раза.
— Буква «Я» встречается 1 раз.
— Буква «А» встречается 1 раз.
2. Создание начальных узлов дерева Хаффмана для каждого символа и упорядочивание их по возрастанию частоты:
— Узел с символом «У» и частотой 1.
— Узел с символом «Л» и частотой 1.
— Узел с символом «И» и частотой 1.
— Узел с символом «Я» и частотой 1.
— Узел с символом «А» и частотой 1.
— Узел с символом «Р» и частотой 2.
— Узел с символом «К» и частотой 2.
— Узел с символом «Т» и частотой 2.
— Узел с символом «Е» и частотой 5.
— Узел с символом «П» и частотой 6.
3. Слияние узлов с наименьшей частотой до тех пор, пока не останется только один узел:
— Слияние узлов с символами «У» и «Л», результат: узел с частотой 2.
— Слияние узлов с символами «И» и «Я», результат: узел с частотой 2.
— Слияние узлов с символами «А» и «Р», результат: узел с частотой 2.
— Слияние узлов с символами «К» и «Т», результат: узел с частотой 4.
— Слияние узлов с символами «Е» и «УЛИЯ», результат: узел с частотой 7.
— Слияние узлов с символами «П» и «АРКТ», результат: узел с частотой 13.
— Слияние узлов с символами «ЕУЛИЯ» и «ПАРКТ», результат: узел с частотой 20.
4. Построение дерева Хаффмана на основе полученного узла:
— Добавление узла с символами «ЕУЛИЯ» и «ПАРКТ» в качестве родительского узла.
— На схеме дерева уровень выше будет узел с символом «УЛИЯ» и частотой 7, а ниже будет узел с символом «ПАРКТ» и частотой 13.
— Продолжение построения дерева до достижения идеальной формы.
5. Запись кода Хаффмана для каждого символа:
— Символ «Е» имеет код 0.
— Символы «У», «Л», «И», «Я», «А» имеют одинаковый код 10.
— Символ «Р» имеет код 110.
— Символы «К», «Т» имеют одинаковый код 1110.
— Символ «П» имеет код 1111.
Таким образом, построенное дерево Хаффмана для фразы «У ПЕРЕПЕЛА И ПЕРЕПЕЛКИ ПЯТЬ ПЕРЕПЕЛЯТ» будет выглядеть следующим образом:
________[УЛИЯПКТРА]
/
________[УЛИЯ] [ПКТРА]
/ /
________[У] [ЛИЯ] [ПКТ] [РА]
/ /
[У] [ПК] [Т]
/
[П]
Результат кодирования:
У — 10
Л — 10
И — 10
Я — 10
А — 10
Р — 110
К — 1110
Т — 1110
Е — 0
П — 1111
найдена только 1 раз. — Буква Р встречается 2 раза. — Буква Л встречается 1 раз. — Буква А встречается 1 раз. — Буква И встречается 1 раз. — Буква Т встречается 1 раз. — Буква Ь встречается 1 раз. — Буква К встречается 1 раз. — Буква Ы встречается 1 раз. — Буква Й встречается 1 раз. — Буква Ф встречается 1 раз. — Буква З встречается 1 раз.
2. Создание списка символов и их частоты в порядке убывания частоты встречаемости: — Символ П (6) — Символ Р (2) — Символ У (1) — Символ Е (1) — Символ Л (1) — Символ А (1) — Символ И (1) — Символ Т (1) — Символ Ь (1) — Символ К (1) — Символ Ы (1) — Символ Й (1) — Символ Ф (1) — Символ З (1)
3. Строительство дерева, объединяя символы с наименьшей частотой встречаемости в узлы, добавляя их частоту и повторяя процесс до тех пор, пока не будет получено готовое дерево Хаффмана.