A Universal Algorithm for Sequential Data…

LZ77 asks how to compress a stream exactly when its source statistics are unknown. Read it to see how a bounded window turns recent output into a moving dictionary, replaces the longest reachable repeat with a backward pointer and length, and keeps encoder and decoder synchronized with one following literal.

Reading focus: How recent decoded output becomes an adaptive dictionary without a separate training pass or a source-specific code book. Why each source word is a longest reproducible prefix plus one literal, and how pointer range and maximum match length bound the codeword. Why the paper's universality theorem is scoped to constrained sources, why channel errors can propagate, and which familiar DEFLATE limits came later.

IEEE Transactions on Information Theory 1977. Jacob Ziv and Abraham Lempel. 30 min read, easy difficulty.