Алгоритм сжатия Лемпеля-Зива-Уэлча
Алгоритма сжатия Лемпеля-Зива-Уэлча (LZW) является модифицированным вариантом алгоритма LZ78 и имеет более упрощённую программную реализацию. Описание алгоритма сжатия: это алгоритм имеет начальный словарь базовых символов, обычно – таблица ASCII. Дальнейшее пополнение словаря происходит во время прохождения сжимаемого файла. Так как словарь составляется по определённому алгоритму и, имея начальный словарь, алгоритм может дезархивировать данные на основе только базового словаря. Это происходит из-за своеобразного запаса по итерациям, за счёт базового словаря, а когда базовый словарь «закончится» к этому времени уже составится какая-то часть нового словаря. Таким образом, алгоритм сжатия и разжатия работает наперёд, можно сравнить со строительством пролётов моста, где мост – словарь, а техника, которая его строит – цикл.
Видео-демонстрация: https://www.youtube.com/watch?v=PhHtAOAhYJg
Сжатие
Восстановление