Lập trình 22/09/2026 7 phút

LZ77 và cửa sổ trượt: nén bằng cách trỏ về đoạn đã thấy, không viết lại

Huffman khai thác tần suất nhưng mù với lặp lại. LZ77 lo phần đó: gặp đoạn đã xuất hiện, nó thay bằng tham chiếu ngược (lùi N byte, chép M byte). Bài này tự cài LZ77 và đo thật: trên một đoạn văn lặp câu, một token thay được nguyên 51 byte (distance=49, length=51), 9 tham chiếu nuốt 119/184 byte. Đây là chữ L và Z của gzip, zstd và gần như mọi thuật toán nén hiện đại.