Порядок работы сжатия
- Открытие и чтение файла
- Расчёт частоты встречаемости символов
- Сортировка массива символов по частоте по убыванию
- Создание дерева Хаффмана
- Создание кодов Хаффмана
- Запись в архивный файл таблицы кодов
Далее:
6.1. Медленный путь: Создание промежуточного файла, состоящего из 0 и 1 – закодированный полученным кодом первый файл.
7.1. Запись полученной последовательности в архивный файл.
или
6.2. Путь быстрее: Создание архивного файла из полученных до п.6 данных напрямую.
Порядок работы извлечения
- Открытие файла
- Чтение таблицы кодов символов
- Расшифровка сжатой двоичной последовательности
arh [mode] [input file] [output file] [info option]
Обазательные аргументы:
-
mode
- режим работы-
сжатие (
-c
или--compress
) -
извлечение (
-e
или--extract
)
-
-
input file
- входной файл -
output file
- выходной файл
Необязательные аргументы:
-
info option
- вывод информации-
полный: таблица кодов и частот символов и временные затраты на операцию (
--full
) -
вывод выключен (
--quiet
)
-
По умолчанию, info option
соответствует выводу только информации о временных затратах.
Например, чтобы сжать файл "nonarch.txt" в файл "archived" с выводом информации о затраченном времени, нужно выполнить такую команду:
arh -c nonarch.txt archived
Проект выполнялся на дисциплине "Углублённое изучение языка C"