Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
21.03.2015
Размер:
194.56 Кб
Скачать

В англоязычные текстах принято исполь- зовать двухбайтную кодировку слов.

Образующие при этом пары байтов называют токенами.

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

Применяется в основном для англоязычных текстов, из-за особенности русского языка для русскоязычных текстов – малоэффективен.

Алгоритм Хаффмана

В основе алгоритма Хаффмана лежит идея кодирования битовыми группами. Сначала проводится частотный анализ входной последовательности данных, то есть устанавливается частота вхож- дения каждого символа, встречающе- гося в ней. После этого, символы сортируются по уменьшению частоты вхождения.

•Перед началом кодирования произво- дится частотный анализ кода докумен- та и выявляется частота повтора каждого из встречающихся символов.

•Чем чаще встречается тот или иной символ, тем меньшим количеством битов он кодируется (соответственно, чем реже встречается символ, тем длиннее его кодовая битовая последовательность).

•Образующаяся в результате кодирова- ния иерархическая структура прикла- дывается к сжатому документу в качестве таблицы соответствия.

Пример кодирования символов русского алфавита

Как видно из схемы, представленной на рисунке, используя 16 бит, можно закодировать до 256 различных символов. Однако ничто не мешает использовать и последовательности длиной до 20 бит - тогда можно закодировать до 1024 лексических единиц (это могут быть не символы, а группы символов, слоги и даже слова).

В связи с тем, что к сжатому архиву необходимо прикладывать таблицу соответствия, на файлах малых размеров алгоритм Хаффмана малоэффективен. Практика также показывает, что его эффективность зависит и от заданной предельной длины кода (размера словаря). В среднем, наиболее эффективными оказываются архивы с размером словаря от 512 до1024 единиц (длина кода до 18-20 бит).

Программные средства сжатия данных

На практике программные средства сжатия данных синтезируют эти три "чистых" алгоритмы, поскольку их эффективность зависит от типа и объема данных. В таблице приведены распространенные форматы сжатия и соответствующие им программы- архиваторы, использующиеся на практике.

Формат

сжатия

ARJ

RAR

ZIP

Операционная система Windows

Программа Программа архивации разархивации

WinArj.exe WinArj.exe

WinRar.exe WinRar.exe

WinZip.exe WinZip.exe

Соседние файлы в папке Вопросы к экзаменам