Этот сайт больше не обновляется. Сайт К. Полякова «Преподавание, наука и жизнь»
переехал по адресу kpolyakov.spb.ru.
Новый адрес страницы, к которой вы обратились:
Пожалуйста, обновите свои закладки. Через 5 секунд вы будете перенаправлены
на новый сайт автоматически.
Сжатие данных
тренажеры для изучения алгоритмов сжатия
Что это такое?
Тренажёры «RLE» и «Huffman» предназначены для изучения
темы «Сжатие данных» в школьном курсе информатики на профильном уровне.
Тренажёры можно использовать:
для упаковки и распаковки текстовых строк;
для упаковки и распаковки файлов любого формата;
для анализа предельных возможностей сжатия файлов;
для сравнения эффективности алгоритмов сжатия.
Программы работают под управлением операционных систем
линейки Windows на любых современных компьютерах.
Новости
2 октября 2012 г.
В тренажер Huffman добавлен алгоритм LZW.
28 сентября 2012 г.
Вышли версии 1.0 тренажёров RLE и Huffman.
Алгоритм RLE
Алгоритм RLE —
это простейший алгоритм сжатия данных, основанный на поиске цепочек
одинаковых символов. При кодировании строка одинаковых символов, составляющих серию, заменяется строкой,
которая содержит сам повторяющийся символ и количество его повторов.
В тренажёре «RLE» можно упаковывать и распаковывать с помощью алгоритма RLE строки текста,
а также файлы любого формата.
После щелчка по кнопке (клавиша F4)
текст, введенный в текстовом редакторе, сжимается.
Сжатые данные показываются в окне редактора в правой части окна программы в виде
шестнадцатеричных кодов байтов и изображений соответствующих символов.
Кнопка (клавиша F5) позволяет выполнить
обратный переход — распаковать сжатые данные, введённые
в редакторе шестнадцатеричных кодов в правой части.
Кнопки в верхней части окна предназначены для сжатия и распаковки файлов.
Обратите внимание, что распаковываются только те файлы,
которые сделаны в этой программе.
Если вы заметили ошибку или у вас есть
предложения, замечания, жалобы, просьбы и заявления, пишите.
Алгоритмы Хаффмана, Шеннона-Фано и LZW
В тренажёре «Huffman» реализованы два алгоритма побайтового сжатия данных:
алгоритм Шеннона-Фано
и Алгоритм Хаффмана.
Оба этих алгоритма используют коды переменной длины: часто встречающийся символ кодируется двоичным кодом
меньшей длины, редко встречающийся — кодом большей длины. Коды Шеннона-Фано и Хаффмана — префиксные,
то есть никакое кодовое слово не является началом любого другого. Это свойство позволяет однозначно
декодировать любую последовательность кодовых слов. В отличие от алгоритма Шеннона-Фано, алгоритм Хаффмана
обеспечивает минимальную избыточность, то есть минимальную длину кодовой последовательности при
побайтном кодировании.
При кодировании с помощью алгоритма LZW
строится таблица, в которой цепочкам символов ставятся в соответствие кодовые последовательности.
Прелесть этого алгоритма состоит в том, что для декодирования не нужна никакая дополнительная
информация, кроме закодированного текста: таблица строится прямо в процессе декодировки.
В тренажёре «Huffman» можно упаковывать и распаковывать с помощью
алгоритмов Хаффмана, Шеннона-Фано и LZW строки текста, а также файлы любого формата.
После щелчка по кнопке (клавиша F4)
текст, введенный в текстовом редакторе, сжимается.
Сжатые данные показываются в нижней части окна программы в виде
строки, содержащей двоичный код. В левой части показывается таблица кодов символов,
использованная при сжатии.
Кнопки в верхней части окна предназначены для сжатия и распаковки файлов.
Обратите внимание, что распаковываются только те файлы,
которые сделаны в этой программе.
Кнопка Анализ файла позволяет определить для любого файла
предельный теоретически достижимый коэффициент сжатия при побайтном кодировании.
Если вы заметили ошибку или у вас есть
предложения, замечания, жалобы, просьбы и заявления, пишите.
Лицензия
Программы являются бесплатными для некоммерческого использования.
Исходные тексты программ не распространяются.
Программы поставляются «as is», то есть, автор не несет никакой
ответственности за всевозможные последствия их использования,
включая моральные и материальные потери, вывод оборудования из
строя, физические и душевные травмы.
При размещении программ на других веб-сайтах ссылка на первоисточник обязательна.
Без письменного согласия автора ЗАПРЕЩАЕТСЯ
распространение неполных или измененных материалов;
включение материалов в сборники на любых носителях информации, распространяемые на коммерческой основе;
получение коммерческой выгоды от продажи или другого использования материалов.