Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет_ЛР.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
136.19 Кб
Скачать

3. Конструкторская часть

3.1.Формирование таблицы частот

Пусть она имеет вид:

Таблица 3.1. Частота букв

Символ

A

B

C

D

E

F

G

H

I

Частота

15

6

7

12

25

4

6

1

15

3.2.Построение дерева Хаффмена

При построении нужно учитывать сбалансированность бинарного дерева. Дерево считается сбалансированным, если высоты левого поддерева и правого поддеревьев отличаются не более чем на 1. Высотой дерева называется максимальное число ребер от корня дерева к листу.

IHFBDEGCA,91

IHFBD,38 EGCA,53

I ,15 HFBD,23 E,25 GCA,28

HFB,11 D,12 GC,13 A,15

HF,5 B,6 G,6 C,7

H,1 F,4

Рис. 1.2. Дерево Хаффмена

После построения дерева проведем кодировку символов. Оформим результат в виде таблицы.

Таблица 3.2. Кодировки букв по частоте

Символ

A

B

C

D

E

F

G

H

I

Код

111

0101

1101

011

10

01001

1100

01000

00

3.3. Кодирование выбранного для проверки слова

Выберем слово AHEAD и закодируем его, учитывая коды таблицы 3.2. Получим код:

1110100010111011

Передаем этот код и таблицу 3.1. для декодирования.

3.4. Декодирование сообщения

Пусть для декодирования были получены:

Таблица 3.3. Частота букв

Символ

A

B

C

D

E

Y

G

H

I

Частота

2

3

4

1

3

4

1

2

6

и код 0000100100000000111

построим дерево Хаффмена и по нему раскодируем текст. Получим слово: DADDY.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]