Хорошо, давайте начнем с построения дерева Хаффмана для фразы "МАМА МЫЛА РАМУ".
1. Шаг: Подготовка данных
Сначала мы должны подсчитать частоту встречаемости каждого символа в данной фразе.
Расположим символы и их частоту по убыванию:
- М: 4 раза
- А: 2 раза
- Л: 1 раз
- Ы: 1 раз
- Р: 1 раз
- У: 1 раз
2. Шаг: Построение дерева
Теперь мы начинаем строить дерево Хаффмана, соединяя символы с наименьшей частотой.
- Шаг 1:
Объединяем символы "Л" и "Ы" в один узел. Общая частота - 2.
2
/ \
Л Ы
- Шаг 2:
Объединяем символы "Р" и "У" в один узел. Общая частота - 2.
4
/ \
М 2
/ \
Р У
- Шаг 3:
Объединяем символы "А" и узел, содержащий символы "Л" и "Ы". Общая частота - 4.
6
/ \
А 4
/ \
М 2
/ \
Р У
- Шаг 4:
Объединяем символы "М" и узел, содержащий символы "Р" и "У". Общая частота - 6.
10
/ \
6 4
/ / \
А М 2
/ \
Р У
- Шаг 5:
Объединяем узел, содержащий символы "М", "Р" и "У", и узел, содержащий символы "Л" и "Ы". Общая частота - 10.
16
/ \
10 6
/ \ / \
А М Л У
3. Шаг: Кодирование символов
Теперь мы должны закодировать каждый символ в соответствии с его позицией в дереве.
- М: 0
- А: 10
- Л: 110
- Ы: 1110
- Р: 11110
- У: 11111
Таким образом, дерево Хаффмана для фразы "МАМА МЫЛА РАМУ" будет выглядеть следующим образом:
1. Шаг: Подготовка данных
Сначала мы должны подсчитать частоту встречаемости каждого символа в данной фразе.
Расположим символы и их частоту по убыванию:
- М: 4 раза
- А: 2 раза
- Л: 1 раз
- Ы: 1 раз
- Р: 1 раз
- У: 1 раз
2. Шаг: Построение дерева
Теперь мы начинаем строить дерево Хаффмана, соединяя символы с наименьшей частотой.
- Шаг 1:
Объединяем символы "Л" и "Ы" в один узел. Общая частота - 2.
2
/ \
Л Ы
- Шаг 2:
Объединяем символы "Р" и "У" в один узел. Общая частота - 2.
4
/ \
М 2
/ \
Р У
- Шаг 3:
Объединяем символы "А" и узел, содержащий символы "Л" и "Ы". Общая частота - 4.
6
/ \
А 4
/ \
М 2
/ \
Р У
- Шаг 4:
Объединяем символы "М" и узел, содержащий символы "Р" и "У". Общая частота - 6.
10
/ \
6 4
/ / \
А М 2
/ \
Р У
- Шаг 5:
Объединяем узел, содержащий символы "М", "Р" и "У", и узел, содержащий символы "Л" и "Ы". Общая частота - 10.
16
/ \
10 6
/ \ / \
А М Л У
3. Шаг: Кодирование символов
Теперь мы должны закодировать каждый символ в соответствии с его позицией в дереве.
- М: 0
- А: 10
- Л: 110
- Ы: 1110
- Р: 11110
- У: 11111
Таким образом, дерево Хаффмана для фразы "МАМА МЫЛА РАМУ" будет выглядеть следующим образом:
16
/ \
10 6
/ \ / \
А М Л У
Есть какие-либо вопросы по этому материалу?