Lompat ke konten
Aback Tools Logo

Visualisasi Kompresi LZ77

Visualisasikan kompresi jendela geser LZ77 langkah demi langkah pada input teks apa pun - visualisator kompresi lz77 menghasilkan setiap token (offset, panjang, karakter berikutnya) dengan penjelasan bahasa Inggris sederhana dan penyorotan input interaktif. Klik token apa pun untuk melihat buffer pencarian yang tepat dan status lihat ke depan pada posisi tersebut. Konfigurasikan ukuran jendela dan buffer lookahead untuk memahami pengaruhnya terhadap rasio kompresi. Berjalan sepenuhnya di browser Anda - tidak perlu mendaftar.

LZ77 Compression Visualizer

Enter any text to see LZ77 sliding window compression step-by-step. Each token shows the (offset, length, next-char) tuple with a plain-English explanation. Click any token to highlight the search buffer and match in the input. Runs entirely in your browser.

Try a preset:

Input & Settings

12/500 characters

How far back to search for matches.

Max match length to look for.

Enter any text above and click Visualize LZ77 Compression to see the sliding window algorithm step-by-step. Each token shows the (offset, length, next-char) tuple - click any token to highlight the search buffer and match in the input. Try the presets for instant examples.

Mengapa Menggunakan Visualizer Kompresi LZ77 Kami?

  • Visualisasi Langkah-demi-Langkah LZ77 Instan: Lihat setiap token kompresi LZ77 yang dihasilkan secara instan - visualisator kompresi lz77 menjalankan algoritme jendela geser penuh di browser Anda dan menampilkan setiap tuple (offset, length, next-char) dengan penjelasan bahasa Inggris sederhana dan penyorotan input interaktif.
  • Amankan LZ77 Compression Visualizer Online: Teks Anda tidak pernah keluar dari perangkat Anda. Visualisator kompresi lz77 berjalan sepenuhnya di browser Anda - tanpa unggahan server, tanpa transmisi data, 100% pribadi. Aman untuk cuplikan kode kepemilikan, data konfigurasi, dan sampel teks sensitif.
  • Pendidikan Jendela Geser Interaktif: Klik token apa pun untuk menyorot buffer pencarian, kecocokan, dan karakter berikutnya dalam input asli. Visualisator kompresi lz77 menunjukkan status jendela geser yang tepat di setiap langkah - menjadikannya cara paling jelas untuk memahami cara kerja LZ77 dalam praktiknya.
  • 100% Gratis Selamanya: Visualisator kompresi lz77 sepenuhnya gratis tanpa pendaftaran, tanpa tingkat premium, tanpa batasan ukuran masukan, dan tanpa iklan. Visualisasikan kompresi LZ77 untuk input teks tak terbatas tanpa biaya, selamanya.

Kasus Penggunaan Umum untuk Visualizer Kompresi LZ77

  • Pendidikan Ilmu Komputer: Ajarkan kompresi LZ77 kepada siswa dengan visualisasi langsung dan interaktif - lihat dengan tepat bagaimana algoritma jendela geser membuat token dari input teks apa pun. Visualisator kompresi lz77 membuat teori kompresi abstrak menjadi konkret dan langsung dapat dipahami.
  • Memahami GZIP dan DEFLATE Internal: GZIP dan DEFLATE dibangun di atas LZ77 - memahami LZ77 adalah dasar untuk memahami cara kerja kompresi web. Visualisator kompresi lz77 menunjukkan proses pembuatan token persis yang digunakan DEFLATE sebelum menerapkan pengkodean Huffman.
  • Persiapan Wawancara Algoritma: Berlatih menjelaskan kompresi LZ77 untuk wawancara teknis dengan menelusuri algoritme pada input khusus. Visualisator kompresi lz77 memungkinkan Anda memverifikasi pemahaman Anda tentang offset, panjang, dan pengkodean token karakter berikutnya dengan umpan balik instan.
  • Riset dan Eksperimen Kompresi: Bereksperimenlah dengan berbagai ukuran jendela dan ukuran buffer lookahead untuk melihat pengaruhnya terhadap jumlah token dan rasio kompresi. Visualisator kompresi lz77 memudahkan untuk memahami tradeoff antara ukuran jendela pencarian dan efektivitas kompresi.
  • Menganalisis Kompresibilitas Teks: Lihat mengapa teks yang sangat berulang (seperti "AABCAABCAABC") terkompresi dengan baik sedangkan teks acak tidak - visualisator kompresi lz77 menunjukkan dengan tepat substring mana yang cocok sebagai referensi belakang dan mana yang harus dikeluarkan sebagai literal.
  • Membangun Implementasi Kompresi Kustom: Verifikasi implementasi LZ77 Anda sendiri dengan membandingkan output tokennya dengan visualisator kompresi lz77 pada input yang sama. Gunakan daftar token langkah demi langkah dan tampilan status jendela geser untuk men-debug penghitungan offset dan panjang.

Apa itu Kompresi LZ77?

LZ77 (Lempel-Ziv 1977) adalah algoritma kompresi data lossless yang ditemukan oleh Abraham Lempel dan Jacob Ziv. Ini adalah dasar dari DEFLATE, yang mendukung GZIP, ZIP, PNG, dan zlib - menjadikan LZ77 salah satu algoritma kompresi yang paling banyak digunakan dalam komputasi. LZ77 bekerja dengan mengganti kemunculan data yang berulang dengan referensi ke satu salinan yang muncul sebelumnya dalam aliran data yang tidak terkompresi. Setiap referensi adalah token (offset, length, next-char): offset adalah seberapa jauh di buffer pencarian pencocokan dimulai, length adalah berapa banyak karakter yang cocok, dan next-char adalah karakter pertama yang tidak cocok. Visualisator kompresi lz77 kami menampilkan setiap token yang dihasilkan untuk teks masukan Anda dengan penyorotan interaktif.

Cara Kerja Visualizer Kompresi LZ77 Kami

  1. 1 Masukkan teks Anda dan konfigurasikan jendela: Ketik atau tempel teks apa pun (hingga 500 karakter) ke dalam area input. Pilih ukuran jendela pencarian (seberapa jauh ke belakang untuk mencari kecocokan) dan ukuran buffer lookahead (panjang kecocokan maksimum). Gunakan contoh preset untuk demonstrasi instan.
  2. 2 Klik "Visualisasikan Kompresi LZ77": Visualisator kompresi lz77 menjalankan algoritme jendela geser penuh di browser Anda dan menghasilkan setiap token (offset, panjang, karakter berikutnya). Hasil muncul secara instan dengan ringkasan jumlah token, jumlah literal, referensi balik, dan rasio kompresi. Teks Anda tidak pernah keluar dari perangkat Anda.
  3. 3 Klik token apa pun untuk menjelajahi status jendela geser: Sorotan input menunjukkan buffer pencarian (kuning), substring yang cocok (hijau), dan karakter berikutnya (biru) untuk token yang dipilih. Panel detail token menunjukkan konten buffer pencarian yang tepat dan melihat ke depan pada posisi tersebut.

Apa yang Diwakili Setiap Token LZ77

  • Offset (jarak mundur): Berapa banyak karakter kembali dalam buffer pencarian pertandingan dimulai. Offset 0 berarti tidak ditemukan kecocokan - tokennya adalah literal. Offset 5 berarti kecocokan dimulai 5 karakter sebelum posisi saat ini.
  • Panjang (panjang kecocokan): Berapa banyak karakter berurutan yang cocok antara buffer pencarian dan tampilan ke depan. Panjang 0 berarti literal (tidak cocok). Kecocokan yang lebih lama berarti kompresi yang lebih baik - satu token menggantikan beberapa karakter.
  • Karakter berikutnya: Karakter pertama dalam tampilan ke depan yang tidak cocok (atau karakter berikutnya setelah pertandingan). Hal ini memastikan dekoder selalu dapat maju setidaknya satu karakter, bahkan untuk token literal.
  • Model biaya bit: Setiap token berharga log₂(ukuran jendela) bit untuk offset + log₂(ukuran lookahead) bit untuk panjang + 8 bit untuk karakter berikutnya. Implementasi nyata (DEFLATE) menambahkan kode Huffman di atas untuk lebih memampatkan aliran token.

LZ77 vs DEFLATE vs GZIP

LZ77 murni seperti yang ditunjukkan dalam visualisator ini jarang digunakan secara langsung - implementasi dunia nyata menambahkan jalur kompresi kedua. DEFLATE (digunakan dalam GZIP, ZIP, dan PNG) menerapkan LZ77 terlebih dahulu untuk menemukan referensi kembali, kemudian menerapkan pengkodean Huffman ke aliran token untuk lebih mengompresi nilai offset, panjang, dan karakter. LZ78 dan LZW adalah varian yang menggunakan kamus, bukan jendela geser. LZSS adalah varian LZ77 yang dioptimalkan yang menghilangkan bidang karakter berikutnya ketika ditemukan kecocokan, sehingga mengurangi overhead token. Visualizer kompresi lz77 mengimplementasikan algoritma LZ77 asli untuk kejelasan pendidikan maksimal.

Pertanyaan yang Sering Diajukan

Visualisator kompresi lz77 menunjukkan algoritme kompresi jendela geser LZ77 langkah demi langkah pada input teks apa pun - menghasilkan setiap token (offset, panjang, karakter berikutnya) dengan penjelasan bahasa Inggris yang sederhana. Visualisator kompresi lz77 gratis kami berjalan sepenuhnya di browser Anda tanpa perlu mendaftar.

Setiap token LZ77 mengkodekan kecocokan di buffer pencarian. Offset adalah seberapa jauh pertandingan dimulai; panjangnya adalah berapa banyak karakter yang cocok; next-char adalah karakter pertama yang tak tertandingi. Token (0, 0, 'A') adalah literal. Token (5, 3, 'X') berarti "kembali 5 karakter, salin 3 karakter, lalu keluarkan 'X'".

Ya, sepenuhnya. Visualisator kompresi lz77 berjalan sepenuhnya di browser Anda. Teks Anda tidak pernah diunggah ke server mana pun dan tidak pernah meninggalkan perangkat Anda.

Ya - 100% gratis, selamanya. Tanpa pendaftaran, tanpa akun, tanpa tingkat premium, tanpa batasan ukuran input, dan tanpa iklan.

GZIP dan DEFLATE dibangun di atas LZ77. DEFLATE menerapkan LZ77 terlebih dahulu untuk menemukan referensi kembali, kemudian menerapkan pengkodean Huffman ke aliran token untuk kompresi tambahan. Memahami LZ77 adalah dasar untuk memahami cara kerja kompresi GZIP, ZIP, PNG, dan zlib secara internal.

Jendela pencarian yang lebih besar memungkinkan LZ77 menemukan kecocokan jauh di belakang input, menghasilkan kecocokan yang lebih lama dan rasio kompresi yang lebih baik. Namun, jendela yang lebih besar memerlukan lebih banyak bit untuk mengkodekan nilai offset. Implementasi DEFLATE yang sebenarnya menggunakan jendela 32 KB.

LZ77 menggantikan substring berulang dengan referensi belakang. Teks seperti "AABCAABCAABC" memiliki banyak pola berulang, sehingga sebagian besar token merupakan referensi balik, bukan literal. Teks acak tidak memiliki pengulangan, jadi setiap token bersifat literal - tidak ada manfaat kompresi.

LZ77 menggunakan jendela geser (buffer keluaran terbaru berukuran tetap) untuk menemukan kecocokan. LZ78 menggunakan kamus eksplisit yang berkembang seiring algoritma memproses input. LZW (digunakan dalam GIF) adalah varian dari LZ78. DEFLATE menggunakan LZ77 karena pendekatan jendela geser lebih efisien untuk streaming data.

Visualisator kompresi lz77 dibatasi hingga 500 karakter untuk visualisasi langkah demi langkah - input yang lebih panjang akan menghasilkan ratusan token yang sulit dinavigasi. Untuk menganalisis rasio kompresi pada file yang lebih besar, gunakan alat File Compression Ratio Analyzer.