Называется по фамилиям создателей: Lempel, Ziv, Welch. Известен тем, что используется в различных библиотеках сжатия и в частности в формате GIF. Был запатентован, и жадная компания Unisys стала требовать денег за создание гифок. Но как известно, если ты плюнешь в коллектив, то коллектив утрётся. А если коллектив плюнет в тебя... Так появился свободный формат PNG (PNG's Not GIF). В 2003 году срок действия патента истёк, и мы можем невозбранно использовать LZW для своих целей. Я использовал его....
В предыдущей части был написан упаковщик LZW: Если порыться в сети, то большинство реализаций LZW будут опираться на использование хэшмапа с ключами-строками. Почему? Потому что это самое очевидное, что приходит в голову. Но я сделал свою версию хэш-таблицы для реализации словаря. Без ключей-строк и вообще очень примитивную. Я измерил время выполнения своей программы на файле "Neuromancer", упомянутом в предыдущей части. Оно составило около 0.05 секунды. Потом я решил вывести статистику заполнения...