Sıkıştırma Algoritmaları-Huffman Sıkıştırma Algoritması

    Renegadealien'ın Notu: Zip Rar vs. uzantılı sıkıştırma formatlarından bilgisayarla uğraşan hemen hemen herkezin haberi vardır. Huffmanda işte bu tip sıkıştırma algoritmalarının temellerinden birisini oluşturmakta. Okuldaki bir ödevden dolayı yaptığım bu araştırmanın yararlı olacağını düşündüm. Dökümanın yazarı Fatih Gelgidir. Bütün hakları da bu şahısa aittir.

    Bilgisayarda veri sıkıştırma işleminin uygulanmasının temel nedeni, sıkıştırılmış verinin daha az yer kaplamasıdır. Çoğu kişinin merak ettiği konulardan bir tanesi de budur; veriler nasıl sıkıştırılır, acaba verileri mengeneye koyarsak sıkışır mı?

    Neyse fazla uzatmadan sıkıştırma yöntemimize geçelim. Bazı sıkıştırma yöntemleri sıkıştırma işlemi sırasında veri kaybına yol açar, bazılarında ise bu durum gerçekleşmez. Biz bu yazımızda hiç veri kaybına sebebiyet vermeyen çok sağlam bir sıkıştırma tekniğinden bahsedeceğiz; Huffman veri sıkıştırma tekniği.

    Huffman sıkıştırma tekniği ASCII kod tablosundaki karakterlerin bir veri parçasındaki sayısına göre yeniden kodlanması esasına dayanır. Sıkıştırma yöntemi temel olarak şu basamaklardan oluşur;

  • Veri parçası içindeki karakterlerin sayılması

  • Huffman ağacının oluşturulması

  • Oluşturulan ağaca göre yeni kod tablosunun oluşturulması

  • Verinin yeni kod tablosuna göre yeniden yazılması

    Şimdi bu basamakları daha ayrıntılı olarak inceleyelim.

    1. Veri Parçası İçindeki Karakterin Sayılması
    Elimizdeki verinin içerdiği aynı karakterden kaç tane olduğu sayılır. Mesela, elimizde ’abcabbbcdaabccdaabb’ verisi var. Bu veride 6 tane a, 7 tane b, 4 tane c ve 2 tane de d harfi vardır.

Tarih:
Hit: 4706
Yazar: renegadealien



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.