LZ77
LZ77, short for Lempel-Ziv 1977, is a lossless data compression algorithm devised by Abraham Lempel and Jacob Ziv in 1977. It reduces redundancy by replacing repeated substrings with references to a single previously seen occurrence, rather than storing the text again. The core idea is to exploit repetition within a sliding window of previously processed data.
The encoder maintains a sliding window consisting of a search buffer (the dictionary of recent data) and
LZ77 is the basis for the Deflate compression format, used in zlib, gzip, and many software tools.
Characteristics of LZ77 include good performance on data with repeating substrings, with compression and speed influenced