======STABLA====== [[strana]] Pojam "stablo" se u programiranju koristi da oznaci [[jovan.marjanovic1|strukturu podataka]] koja ima "razgranatu" strukturu, po uzoru na pojam stabla u teoriji grafova. Stablo se cesto koristi kao glavni oblik nekog spremista podataka, zbog lakog pisanja odgovarajuceg koda kroz koriscenje rekurzije, brzog upisivanja podataka i brzog pristupa trazenim podacima. Najcesce korisceno stablo je stablo u kojem svaki cvor mora imati tacno dve grane, takozvano binarno stablo. {{:300px-binary_search_tree.svg.png|}} **Binarno stablo** je u informatici struktura namenjena cuvanju podataka. Njene memorijske jedinice su organizovane po principu piramide. Tacnije, svaka memorijska jedinica (//cvor//) binarnog stabla moze da pokazuje na jos najvise dva elementa (//njegova deca//), dok stablo ima samo jedan element na koga ne pokazuje ni jedan drugi (//koren//). Od ovog elementa se moze doci u bilo koji drugi elemenat stabla. Svaki elemenat stabla moze biti i svestan koji elemenat pokazuje na njega (tj. ko mu je //roditelj//). ====Osnovni pojmovi==== **Cvor** stabla je jedna memorijska celija stabla. Ona moze imati nula, jedan ili dva podcvora. Ista moze da nosi dve razlicite vrednosti:\\ - Kljuc. Najcesce numericka vrednost, po kojoj se neki element rasporedjuje u binarnom stablu.\\ - Vrednost. Podatak koji treba zapamtiti. Moze se desiti da su vrednost i klju jedno te isto, tj. da se sortiranje binarnog stabla vrsi po samoj vrednosti.\\ **Koren** stabla je cvor stabla koji nije podcvor nijedno drugog cvora u stablu.\\ **List** je cvor stabla koji nema nijedan podcvor.\\ **Roditelj** nekog cvora je cvor koji pokazuje na njega.\\ **Dete** nekog cvora je cvor na koji neki drugi cvor pokazuje.\\ [[marjan.djordevic|{{http://www.kikel.hr/images/strelica_l.gif}}]]