Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАЧЁТ ПО ИНФЕ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
774.66 Кб
Скачать
  1. Понятие и виды служебных программ. Программы архивации данных. Алгоритм Хаффмана.

Алгоритм Хаффмана (самостоятельно)

Все содержащиеся в файле символы записываются в список по возрастанию числа повторов. Два последних объединяются в новый составной узел, число повторов которого равно сумме повторов исходных символов. Формируется новый список, и вновь два последних значения повторов объединяются в новый узел. Данные манипуляции повторяются до тех пор, пока не останется единственное значение. И оно будет равно числу повторов всех символов, из которых состоит файл. В результате мы построим дерево, каждый узел которого имеет суммарное значение числа повторов всех узлов, находящихся ниже. Процесс эффективного кодирования Haffman'a отображен в таблице 1. Чтобы сформировать код для любого символа, проследите его "путь" по колонкам и строкам от начала до конца.

Таблица 1. Вспомогательная таблица количества повторов символов

c

22

22

22

22

32

42

58

100

e

20

20

20

22

26

32

42

h

16

16

16

20

22

26

l

16

16

16

16

20

a

10

10

16

16

k

10

10

10

m

4

6

b

2

c

01

e

00

h

111

l

110

a

100

k

1011

m

10101

b

10100

В созданном дереве от ячейки, в которой указана сумма всех повторов (в данном случае она равна 100), мы ведем две ветки. Ветке с большим значением повторов мы азначаем код длиной 1, а ветке с меньшим - 2. Двигаясь по дереву сверху вниз, присваиваем каждому символу собственный уникальный код: Именно алгоритм Хаффмана применяется для создания таких типов архивов, как PKZIP, LHA, ZOO, ARJ. следующего кода.

  1. Понятие, свойства и способы записи алгоритмов. Блок-схема алгоритма.

Алгоритм – это точная конечная система правил, определяющая содержание и порядок действий исполнителя над некоторыми объектами (исходными и промежуточными данными) для получения после конечного числа шагов искомого результата.

Алгоритм может быть описан одним из трех способов:

словесным (пример в начале раздела);

графическим (виде специальной блок-схемы);

с помощью специальных языков программирования.

Блок-схема – распространенный тип схем, описывающий алгоритмы или процессы, изображая шаги в виде блоков различной формы, соединенных между собой стрелками.

Свойства:

А) Дискретность - алгоритм состоит из отдельных пунктов или шагов

Б) Определённость - каждый шаг алгоритма должен быть строго

сформулирован.

(иметь точный смысл)

В) Связанность - на каждом следующем шаге используются результаты

предыдущего.

Г) Конечность – алгоритм должен завершаться после конечного числа

шагов

Д) Результативность – алгоритм должен приводить к получению

конечных результатов

Е) Массовость – пригодность для решения широкого класса задач.

Ж) Эффективность – применение а. должно давать какой бы-то

положительный временной результат (временной)

Способ записи:

А) Словесно-формульный

Б) Структурная схема и алгоритм (ССА)

В) Спец. языки (алгоритмические и псевдокоды)

(псевдокод - искусственный неформальный язык, обычно состоит из

элементов обычного языка с элементами программирования)

Г) Графический способ