Я реализовал алгоритм сжатия на основе LZ77/LZ4 (без энтропийного кодирования), основанный на хеш-цепочках бесконечной глубины. Работает хорошо, скорость приемлемая, но степень сжатия близка к LZ4. Читая документацию и просматривая исходный код проекта LZ4, я понимаю, что он использует хэш-цепочку с глубиной 1, но если я установлю глубину своей реализации на 1, LZ4 превзойдет ее.
Я не могу понять, как работает алгоритм поиска соответствия LZ4 (быстрое сканирование). Может ли кто-нибудь объяснить это?
Спасибо.