This document discusses Lempel-Ziv algorithms for lossless data compression. It introduces the LZ77 and LZ78 algorithms, which use adaptive dictionaries to encode repeated patterns in data. The document describes how LZ77 uses a sliding window to find the longest matching string and represents it with an offset-length pair. It also explains how LZ78 builds an explicit dictionary as it encodes. The document provides examples and discusses improvements made to these original Lempel-Ziv algorithms.