Binarno drevo je hierarhična podatkovna struktura, v kateri ima vsako vozlišče nič, enega ali kvečjemu dva otroka. Vsako vozlišče vsebuje „levi“ kazalec, „desni“ kazalec in podatkovni element. Kazalec »root« predstavlja zgornje vozlišče na drevesu. Vsako vozlišče v podatkovni strukturi je neposredno povezano z poljubnim številom vozlišč na obeh straneh, ki se imenujejo otroci. Ničelni kazalec predstavlja binarno drevo. Ni določenega reda, kako naj bodo vozlišča organizirana v binarnem drevesu. Vozlišča brez otroških vozlišč se imenujejo listna vozlišča ali zunanja vozlišča.
Preprosto povedano, definira organizirano funkcijo označevanja na vozliščih, ki nato vsakemu vozlišču dodeli naključno vrednost. Vse, kar ima dva otroka in eno nadrejeno vozlišče, je binarno drevo. Binarna drevesa se uporabljajo za shranjevanje informacij, ki v osebnem računalniku tvorijo hierarhijo, kot je datotečni sistem. Za razliko od matrikov drevesa nimajo zgornje meje števila vozlišč, ker so povezana s kazalci, kot so povezani seznami. Glavne funkcije Binarnega drevesa vključujejo predstavitev hierarhičnih podatkov, razvrščanje seznamov podatkov, zagotavljanje učinkovitih operacij vstavljanja / brisanja itd. Vozlišča dreves so predstavljena z uporabo struktur v C.
Binarno drevo iskanja je vrsta podatkovnih podatkov binarnega drevesa, v katerih so vozlišča razporejena po vrstnem redu, zato se imenujejo tudi kot "urejeno binarno drevo". To je struktura podatkov na vozlišču, ki omogoča učinkovit in hiter način razvrščanja, pridobivanja in iskanja podatkov. Za vsako vozlišče morajo biti elementi v levem podregiji manjši ali enaki ključu v njegovem nadrejenem vozlišču (LP). Podvojenih tipk ne bi smelo biti. Preprosto povedano, gre za posebno vrsto podatkov o binarnem drevesu, ki učinkovito shranjuje in upravlja predmete v pomnilniku.
Omogoča hiter dostop do informacij, vstavljanje in odstranjevanje podatkov, poleg tega pa se lahko uporablja za izvajanje tabel za iskanje, ki omogočajo iskanje predmetov po njihovih edinstvenih ključih, kot je iskanje telefonske številke osebe po imenu. Edinstvene tipke so razvrščene na organiziran način, tako da se lahko iskanje in druge dinamične operacije izvajajo z binarnim iskanjem. Podpira tri glavne operacije: iskanje elementov, vstavljanje elementov in brisanje elementov. Binarno iskanje drevo omogoča hitro iskanje elementov, shranjenih v drevesu, saj je vsak ključ vozlišča temeljito primerljiv s korenskim vozliščem, ki zavrže polovico drevesa.
Binarno drevo | Binarno iskanje drevo |
Binarno drevo je specializirana oblika drevesa, ki predstavlja hierarhične podatke v drevesni strukturi. | Binarno drevo za iskanje je vrsta binarnega drevesa, ki tipke ohranja v urejenem vrstnem redu za hitro iskanje. |
Vsako vozlišče mora imeti največ dve podrejeni vozlišči, pri čemer je vsako vozlišče z natančno enim vozliščem povezano z usmerjenim robom. | Vrednosti vozlišč v levem podrevju so manjše ali enake vrednosti korenskega vozlišča, vozlišča v desnem podrevju pa imajo vrednosti večje ali enake vrednosti korenskega vozlišča. |
Ni relativnega vrstnega reda, kako naj bodo vozlišča organizirana. | Sledi dokončni vrstni red, kako naj bodo vozlišča organizirana na drevesu. |
V bistvu gre za hierarhično strukturo podatkov, ki je zbirka elementov, imenovanih vozlišča. | Gre za različico binarnega drevesa, v katerem so vozlišča razporejena v relativnem vrstnem redu. |
Uporablja se za hitro in učinkovito iskanje podatkov in informacij v drevesni strukturi. | Uporablja se predvsem za vstavljanje, brisanje in iskanje elementov. |
Medtem ko oba simulirata hierarhično strukturo dreves, ki predstavlja zbirko vozlišč, pri čemer vsako vozlišče predstavlja vrednost, se med seboj precej razlikujejo po načinu, kako jih je mogoče implementirati in uporabiti. Binarno drevo sledi enemu preprostemu pravilu, da vsako matično vozlišče nima več kot dveh podrejenih vozlišč, medtem ko je binarno iskalno drevo le različica binarnega drevesa, ki sledi sorazmernemu vrstnem redu, kako naj bodo vozlišča organizirana v drevesu.