Binarno drvo je hijerarhijska struktura podataka u kojoj svaki čvor ima nulu, jedno ili najviše dvoje djece. Svaki čvor sadrži pokazivač "lijevo", "desni" pokazivač i podatkovni element. Pokazivač korijena predstavlja gornji čvor na stablu. Svaki čvor u strukturi podataka izravno je povezan s proizvoljnim brojem čvorova na obje strane, koji se nazivaju djecom. Nulti pokazivač predstavlja binarno stablo. Ne postoji određeni nalog kako organizirati čvorove u binarnom stablu. Čvorovi koji nemaju dječje čvorove nazivaju se lisni čvorovi ili vanjski čvorovi.
Jednostavno rečeno, definira organiziranu funkciju označavanja na čvorovima, koja zauzvrat dodjeljuje neku slučajnu vrijednost svakom čvorištu. Sve što ima dvoje djece i jedan roditeljski čvor binarno je stablo. Binarna stabla koriste se za pohranu podataka koje na vašem osobnom računalu čine hijerarhiju poput datotečnog sustava. Za razliku od nizova, stabla nemaju gornju granicu broja čvorova jer su povezana pomoću pokazivača, poput povezanih lista. Glavne funkcije Binarnog stabla uključuju predstavljanje hijerarhijskih podataka, sortiranje popisa podataka, pružanje učinkovitih operacija umetanja / brisanja itd. Čvorovi stabala predstavljeni su pomoću struktura u C.
Binarno stablo pretraživanja je vrsta strukture podataka binarnog stabla u kojoj su čvorovi raspoređeni po redoslijedu, a potom se nazivaju i "uređeno binarno stablo". To je struktura podataka zasnovana na čvorima koja pruža učinkovit i brz način razvrstavanja, pretraživanja, pretraživanja podataka. Za svaki čvor elementi u lijevoj podrezi moraju biti manji ili jednaki ključu u njegovom nadređenom čvoru (LP). Ne bi trebalo biti dvostrukih ključeva. Jednostavno rečeno, to je posebna vrsta podataka binarnih stabala koja učinkovito pohranjuje i upravlja stavkama u memoriji.
Omogućuje brz pristup informacijama, umetanje i uklanjanje podataka, a može se koristiti i za implementaciju tablica za pretraživanje koje omogućuju pretraživanje predmeta po jedinstvenim tipkama, poput pretraživanja telefonskog broja osobe po imenu. Jedinstveni ključevi sortirani su na organiziran način, tako da se pregledavanje i ostale dinamičke operacije mogu izvoditi pomoću binarnog pretraživanja. Podržava tri glavne operacije: pretraživanje elemenata, umetanje elemenata i brisanje elemenata. Binarno stablo pretraživanja omogućava brzo pronalaženje elemenata pohranjenih u stablu jer se svaki ključ čvora temeljito uspoređuje s korijenskim čvorom koji odbacuje polovicu stabla.
Binarno drvo | Binarno stablo pretraživanja |
Binarno stablo je specijalizirani oblik stabla koji predstavlja hijerarhijske podatke u strukturi stabla. | Binarno stablo pretraživanja vrsta je binarnog stabla koja tipke drži u razvrstanom redoslijedu za brzo pretraživanje. |
Svaki čvor mora imati najviše dva podređena čvora, a svaki je čvor usmjeren rubom točno iz jednog drugog čvora. | Vrijednost čvorova u lijevom podreziju je manja ili jednaka vrijednosti korijenskog čvora, a čvorovi u desnom podreziju imaju vrijednosti veće ili jednake vrijednosti korijenskog čvora.. |
Ne postoji relativni poredak o načinu organiziranja čvorova. | Slijedi definitivni redoslijed kako čvorovi trebaju biti organizirani u stablu. |
To je u osnovi hijerarhijska struktura podataka koja je skup elemenata koji se nazivaju čvorovi. | To je varijanta binarnog stabla u kojem su čvorovi raspoređeni u relativnom redoslijedu. |
Koristi se za brzo i učinkovito pretraživanje podataka i informacija u strukturi stabala. | Koristi se uglavnom za umetanje, brisanje i pretraživanje elemenata. |
Dok oba simuliraju hijerarhijsku strukturu stabala koja predstavlja skup čvorova sa svakim čvorom koji predstavlja vrijednost, oni se međusobno prilično razlikuju u pogledu načina na koji se mogu implementirati i koristiti. Binarno stablo slijedi jedno jednostavno pravilo da svaki roditeljski čvor nema više od dva podređena čvora, dok je binarno stablo pretraživanja samo varijanta binarnog stabla koja slijedi relativni redoslijed kako čvorovi trebaju biti organizirani u stablu.