06.04.2015 Views

Osnovi programiranja i programski jezici

Osnovi programiranja i programski jezici

Osnovi programiranja i programski jezici

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Lista (a, lista (c, prazno)).<br />

LISTA<br />

A<br />

LISTA<br />

B<br />

C<br />

LISTA<br />

LISTA<br />

PRAZNO<br />

Eksplicitnim pretstavljanjem liste kao binarne strukture lista brzo postaje nepregledna.<br />

Zato je u PROLOG-u uvedena posebna notacija za tu strukturu. Prema toj notaciji<br />

nepraznu listu pretstavljamo navođenjem njenih elemenata zatvorenih u uglaste<br />

zagrade, dok je prazna lista pretstavljena simbolom “[]”.<br />

U listi [a, b, c] u PROLOG-u a je glava liste, a [b, c] je rep liste.<br />

Operacije sa listama su:<br />

• provera pripada li neki element listi,<br />

• provera pripadanja jedne liste drugoj,<br />

• izdvajanje iz date liste neku drugu listu koja sadrži iste elemente ali u<br />

obrnutom redosledu,<br />

• sortiranje liste,<br />

• upis u listu,<br />

• brisanje liste,<br />

• brisanje jednog elementa date liste,<br />

BINARNO STABLO<br />

Binarno stablo pretstavljamo strukturom sledećeg oblika stabla (Element, Levo,<br />

Desno). Pri tome je drugi argument levo podstablo čvora. Prazno stablo možemo<br />

označiti praznim simbolom različitim od ostalih simbola koji već imaju neko posebno<br />

zaduženje.<br />

Dužinu najdužeg lanca u stablu nazivamo i dubinom stabla.<br />

Dubina praznog stabla je 0, dužina stabla koji ima samo jedan koren je 1.<br />

OSNOVNE OPERACIJE SA BINARNIM STABLOM<br />

Element jeste element binarnog stabla ako je:<br />

• koren tog stabla,<br />

• element njegovog levog podstabla,<br />

• element njegovog desnog podstabla.<br />

Brisanje elementa binarnog sistema:<br />

• element koji se briše je lista stabla, to jest oba njegova potomka su<br />

prazna stabla, obrisani element zamenjujemo praznim stablom,<br />

• element koji se briše ima samo jedno neprazno podstablo, neprazno<br />

podstablo dolazi na mesto stabla čiji je koren izbrisan,<br />

• oba podstabla elementa koji se briše neprazna su,<br />

124

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

Saved successfully!

Ooh no, something went wrong!