31.12.2014 Views

Seminarski rad: UĊenje algoritama u Pythonu - phy.hr - Prijava

Seminarski rad: UĊenje algoritama u Pythonu - phy.hr - Prijava

Seminarski rad: UĊenje algoritama u Pythonu - phy.hr - Prijava

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

itova. Pohlepni algoritam koristi prioritet red za izdvajanje dva čvora (list ili interni), s<br />

najnižim frekvencijama, dodjeljuje novi čvor čija težina je zbroj dva, i umeće novi čvor<br />

natrag u red prioriteta. Algoritam završava kad prioritet red uklanja zadnji čvor, koji<br />

postaje korijen stabla Huffman. Niz bitova za svako slovo može biti proizveden od<br />

strane poprijeko Huffman binarno stablo, gdje je uzimanje lijevoga kraka rezultat u '0',i desna<br />

grana rezultat u '1'.<br />

Na primjer, pretpostavimo da je naš ulaz skup znakova s pripadajućim frekvencija:<br />

'a': 45%<br />

'b': 13%<br />

'c': 12%<br />

'd': 16%<br />

'e': 9%<br />

'f': 5%<br />

Huffman algoritam konstruira stablo usporeĎujući dva elementa s najmanje<br />

frekvencije, stvara novi unutarnji čvor čija je frekvencija jednaka njihovom<br />

zbroju, u red prioriteta. Rezultat je stablo (sl. 1) koje definira promjenljive duljine koda<br />

za svaki znak. Lijevo grane su označene 0, a desno grane su označeni 1, a Huffman kod<br />

za znak se jednostavno niz stazu natpiše iz korijena do listova. Npr., kodiranje:<br />

'a': 0<br />

'b': 1 0 0<br />

'c': 1 0 1<br />

'd': 1 1 0<br />

'e': 1 1 1 0<br />

'f': 1 1 1 1<br />

Slika 1 Primjer Huffman stabla<br />

Budući da smo već prioritet red, ono što nam nedostaje je specijalizirano binarno<br />

stablo. Zahtjevi su:<br />

čvor nultog stupnja mora biti u stanju da predstavlja pismo, bude kodirana, a njegova<br />

učestalost.<br />

unutarnji čvor mora imati dvoje djece, i ona takoĎer mora imati težinu koja je jednaka<br />

zbroju za svoju djecu.<br />

red prvenstva mora biti u stanju „enqueue“ i „dequeue“ i lišće i unutarnje čvorove i<br />

usporediti ih na temelju težine<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!