Задание № 2460

Студент

Комарова Анастасия

Задача

Компрессия данных

Состояние

Открыто

Назначено

22.04.2020, 12:49

Реализовать программу компрессии/декомпресси данных по алгоритму Хаффмана и/или Лемпеля-Зива-Венча.

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

Пример работы с программой:

compress -c input_file compressed_file - упаковка файла

compress -u compressed_file output_file - распаковка файла

В ходе работы для алгоритма Хаффмана программа должна сообщать:

  • количество байт занятых в файле под хранение дерева Хаффмана
  • количество байт занятых сжатыми данными
  • степень компрессии = (байт сжатых данных + байт под хранение дерева Хафмана) / байт исходных данных

для алгоритма LZW:

  • степень компрессии = байт сжатых данных / байт исходных данных

Действия