Мы всегда на связи

Пишите в любое удобное время:
whatsappvktelegram
Или задайте вопрос через форму:

Представьте файл, содержащий два миллиона единиц подряд. Хранить все эти символы по отдельности довольно неоптимально. Гораздо эффективнее сохранить инструкцию вида «написать единицу два миллиона раз». Именно так и работает сжатие данных, лежащее в основе популярных ZIP-архивов, с которыми многие пользователи точно уже не раз сталкивались.

Как же устроены ZIP-файлы?

Само слово ZIP означает формат архивации файлов и сжатия данных без потерь. А вот «ZIP-файл» — это архив, содержащий в себе несколько файлов и каталогов, сжатых разными алгоритмами. Сжатие каждого файла происходит независимо, что позволяет извлечь или добавить файл без распаковки всего архива. В конце ZIP-файла расположен специальный каталог, хранящий в себе список всех файлов и данные об их расположении. Именно поэтому приложения могут быстро получить список содержимого, не читая весь файл.

1

Какой принцип лежит в основе архивации?

Сжатие основано на устранении избыточности в данных.

Простейший пример — повторение фрагментов в тексте. Такая избыточность устраняется заменой повторяющихся последовательностей ссылками на уже закодированные фрагменты.

Другой вид избыточности связан с неравномерной встречаемостью значений: часто встречающиеся данные кодируются короткими последовательностями битов.

Важно помнить, что сжатие данных без избыточности (например, случайных чисел или зашифрованных сообщений) принципиально невозможно без потерь.

Как измеряется эффективность сжатия?

За качество сжатия отвечает коэффициент сжатия, определяемый как отношение объёма исходных данных к объёму сжатых. Чем выше этот коэффициент, тем эффективнее алгоритм. Если коэффициент меньше единицы, алгоритм фактически увеличивает размер данных. Теоретически невозможно создать алгоритм сжатия, который всегда уменьшал бы размер любых данных. Однако даже в худших условиях можно гарантировать, что размер увеличится максимум на один бит.

Сегодня ZIP-архивы, то есть файлы с расширением .zip, поддерживаются всеми современными операционными системами. Для работы с ними используются специальные программы: WinZip, WinRAR, 7-Zip и тд.

2

Подведём итоги

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

Кстати, архивация — отличный пример применения знаний по теории информации и алгоритмов для решения прикладных задач. Учите матчасть!

Занятие с репетитором
по математике
и программированию
Записаться

Понравилась статья?

Подпишись на Телеграм школы, чтобы не пропустить новые статьи и новости
Telegram канал