You are on page 1of 5

1

OPTMAL KL AALAR VE KL ARAMA AALARI rnek: ekil a)daki ikili aacn dallarn sola ayrlan dallar 0(sfr) ve saa giden dallar 1(bir) olarak kodladmzda elde edeceimiz kodlama ekil(b) deki gibi olacaktr.
0 0 1 0 000 (a) 1 001 0 010 (b) 1 1 0 1 1 1 0 101 011 110 111

Kodlama aac

kili aacn arl Her i dmn tam olarak iki ocuu olduu bir ikili aa ele alalm . w1,w2,.....wn negatif olmayan reel saylar olsun. w1,w2,.....wn arlkl bir ikili aa , k adet w1,w2,.....wn etiketli u dm olan bir ikili aatr. Bu aacn arl ise d1w1+d2w2+.........+ dnwn olup, burada di , i. dmn kkten olan yolun uzunluudur. (i=1,2,3,....,k) rnek: ekil (a) deki aacn arl 3.8+3.4+2.6+1.5=53, ekil(b)deki aacn arl ise 2(4+8+10+12)=68 dir.

1 2 4 6

10
(b) W=34

12

8
(a) W=43

Kodlama probleminde, sembollerin skln arlk olarak gsterdiimizde mmkn olan en kk arlkl ikili aac bulmak isteriz. Byle bir aaca optimal ikili aa ad verilir. Buna gre ekil (a) daki aa 4,8,10,12 alklar iin optimal ikili aa deildir. Huffman Optimal kili Aa algoritmas w1,w2,.....wn arlklar iin optimal ikili aa retir. Algoritmaya isim David A.Huffmandan dolay verilmitir.

Huffman Optimal kili aa Algoritmas

k 2 olmak zere w1,w2,.....wk negatif olmayan reel saylar iin algoritma optimal ikili aa oluturur. Algoritmada bir dm etiketi ile anlalr.Algoritma aadaki admlardan oluur. Adm 1 ( Aa oluturulur) a)for i=1,2,3,...,k etiketi wi olan bir dml aa olutur. b)S bu anlamda aalarn kmesi olsun. Adm 2(Daha geni aa yap) repeat Adm 2.1(en kk alklar se) S kmesinden T1 ve T2 gibi kklerin arlklar V ve W olan en kk arlkl iki aa se Adm 2.2( Aalar birletir.)
a) b) c) d)

Bir ikili aacn kkn olutur ve kke V+W arl ver. T1 i bu kkn sol alt aac yap T2i bu kkn sa alt aac yap Sde T1 ve T2 yerine kk V+W olan bu aac koy.

until S =1

rnek: 2,3,4,7,ve 8 arlklar iin optimal ikili aac Huffman algoritmas ile bulalm.
24 0 9 5 2 3 4 7 15 0 8 2 3 5 0 1 4 7 9 1 24 1 15 0 1 8

ekil (a)
Aacn arl ise 3(2+3)+2(4+7+8)=53 tr. Aadaki ekilde kodlama gsterilmektedir. 24 0 5 0 2 3 0 1 4 7 9 1 1 15 0 1 8 Veri Kodu 2 000

ekil (b)

3 001

4 01

7 10

8 11

rnek: Bir mesajda E,T,A,Q ve Z harfleri 32,28,20,4 ve 1 sklktadr. Buna gre prefix zellikli en ksa kodlama ekil 4.51deki gibi elde edilmektedir. 85 32 (E) 0 28 (T) 20(A) 4 (Q) 0 0 1 Q (0001) 1 0 1 T (01) A (001) 1 E (1)

53 25 5 1 (Z)

Z (0000)

You might also like