Huffman Kódolás
A Huffman kódolás célja, hogy a leggyakrabban előforduló byte-okat rövidebb kódsorozattal helyettesítse.
Tömörítendő szöveg: „A könyvek néma mesterek .” Ehhez készítünk egy gyakorisági táblázatot: Karakter ö y v é s t r a n m k e Gyakorisag 1 1 1 1 111 2 2 2 3 4
A gyakorisági táblából úgy alakítjuk ki a bináris fát, hogy mindig a két legritkábban előforduló gyakorisági értéket kapcsoljuk össze. A két összekapcsolt elem helyére pedig betesszük a két összekapcsolt gyakoriság összegét.
Az így kialakult bináris fa ágaihoz rendelünk 0-t, ha a baloldali gyerekre mutat és 1-t, ha a jobboldali gyerekre mutat. Ez alapján az egyes karakterekhez változó hosszúságú, 8 bitnél rövidebb kódot tudunk rendelni. A gyakrabban előforduló karakterek kódja rövidebb lesz mint a ritkábban előfordulóké. Az eredményben a karakterek helyett a hozzájuk rendelt kód jelenik meg.
Tehát a kódtáblánk: e-111 k-110 m-011 n-010 a-1011 r-1010 t-1001 s-1000 é-0011 v-0010 y-0001 ö-0000
A kódolt szöveg (A könyvek néma mesterek) 1011 110 0000 010 0001 0010 111 110 010 0011 011 1011 011 111 1000 1000 1001 111 1010 110
Az eredeti szöveg mérete 20 byte volt A tömörítés utáni méret (1+1+1+1+1+1+1+2+2+2+3+4) A tömörítés utáni méret 111-3bit 110-3bit 011-3bit 010-3bit 1011-4bit 1010-4bit 1001-4bit 1000-4bit 0011-4bit 0010-4bit 0001-4bit 0000-4bit _____ 44bit:8=5,5byte +