LZ, Lempel-Ziv algoritmalarının genel adıdır ve veri sıkıştırma alanında kullanılan kayıpsız sıkıştırma yöntemlerinin temelini oluşturur. Bu algoritmalar, yinelenen veri kalıplarını belirleyerek ve bunları daha kısa referanslarla değiştirerek veriyi sıkıştırır. Esasen, bir metinde veya veri akışında daha önce görülen bir diziyi tespit eder ve bu diziyi tekrar tekrar yazmak yerine, önceki konumuna bir işaretçi (pointer) kullanarak temsil eder.
LZ algoritmaları, temelde iki ana kategoriye ayrılır:
LZ77: Bu algoritma, veriyi sıkıştırmak için bir "kayan pencere" (sliding window) kullanır. Kayan pencere, hem sıkıştırılmış veriyi (geçmiş veriyi) hem de sıkıştırılmamış veriyi içerir. Algoritma, sıkıştırılmamış veri bölümünde, kayan pencere içindeki daha önce geçmişte görülmüş bir dizi arar ve bu dizinin başlangıç konumunu ve uzunluğunu kullanarak bir referans oluşturur.
LZ78: Bu algoritma ise, bir sözlük (dictionary) kullanır. Sözlük, daha önce karşılaşılmış dizileri ve onlara atanan kodları saklar. Algoritma, veri akışında yeni bir dizi bulduğunda, bu diziyi sözlüğe ekler ve ona yeni bir kod atar. Daha sonra, bu diziyle tekrar karşılaşıldığında, dizinin tamamı yerine sadece sözlükteki kodu kullanılır.
LZ algoritmalarının çeşitli varyasyonları vardır (örneğin, LZW, Deflate), ve bu varyasyonlar farklı sıkıştırma oranları ve hızları sunar. LZ algoritmaları, resim sıkıştırmadan (GIF, PNG) dosya arşivleme programlarına (ZIP) kadar birçok farklı uygulamada kullanılır. LZ sıkıştırması, özellikle tekrar eden veriler içeren dosyalar için etkilidir.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page