Binaaripuu on hierarkkinen tietorakenne, jossa jokaisella solmulla on nolla, yksi tai enintään kaksi lasta. Jokainen solmu sisältää “vasemman” osoittimen, “oikean” osoittimen ja dataelementin. "Juuri" osoitin edustaa puun ylin solmu. Jokainen tietorakenteen solmu on kytketty suoraan mielivaltaiseen määrään solmuja molemmilla puolilla, joihin viitataan nimellä lapset. Nollaosoitin edustaa binääristä puuta. Ei ole erityistä järjestystä siitä, kuinka solmut järjestetään binaaripuussa. Solmuja, joissa ei ole lapsisolmuja, kutsutaan lehtisolmuiksi tai ulkoisiksi solmuiksi.
Yksinkertaisesti sanottuna se määrittelee solmujen järjestetyn merkintätoiminnon, joka puolestaan antaa jokaiselle solmulle jonkin verran satunnaisarvoa. Kaikki, jolla on kaksi lasta ja yksi vanhemman solmu, on binaarinen puu. Binaaripuita käytetään tietojen tallentamiseen, jotka muodostavat hierarkian, kuten tiedostojärjestelmä tietokoneellesi. Toisin kuin ryhmät, puilla ei ole ylärajaa solmujen määrälle, koska ne on linkitetty osoittimilla, kuten linkitetyt luettelot. Binaaripuun päätoimintoihin kuuluu hierarkkisen datan edustaminen, tietolistojen lajittelu, tehokkaiden lisäys- / poistotoimintojen tarjoaminen jne. Puusolmut esitetään C: n rakenteiden avulla.
Binaarinen hakupuu on tyyppi binaaripuun datarakenteesta, jossa solmut on järjestetty järjestyksessä, joten sitä kutsutaan myös ”tilattuksi binaaripuuksi”. Se on solmupohjainen tietorakenne, joka tarjoaa tehokkaan ja nopean tavan lajitella, hakea ja etsiä tietoja. Kussakin solmussa vasemman alaryhmän elementtien on oltava pienempiä tai yhtä suuria kuin sen emo-solmun (LP) avain. Kopioitavia avaimia ei tule olla. Yksinkertaisesti sanottuna se on erityinen binaarisen puurakenteen rakenne, joka tallentaa ja hallitsee tehokkaasti muistissa olevia kohteita.
Se mahdollistaa nopean pääsyn tietoihin, tietojen lisäämisen ja poistamisen, ja sitä voidaan käyttää myös hakutaulukoiden toteuttamiseen, jotka mahdollistavat kohteiden etsimisen niiden yksilöllisillä avaimilla, kuten henkilön puhelinnumeron etsiminen nimen perusteella. Yksilölliset avaimet lajitellaan järjestäytyneellä tavalla, jotta haku ja muut dynaamiset toiminnot voitaisiin suorittaa käyttämällä binaarista hakua. Se tukee kolmea päätoimintoa: elementtien etsimistä, elementtien lisäämistä ja elementtien poistamista. Binaarinen hakupuu mahdollistaa nopeaan puun tallennettujen elementtien haun, koska kutakin solmuavainta verrataan perusteellisesti juurisolmuun, joka hylkää puolet puusta.
Binaarinen puu | Binaarinen hakupuu |
Binaarinen puu on erikoistunut puun muoto, joka edustaa hierarkkista tietoa puurakenteessa. | Binaarinen hakupuu on tyyppi binaaripuusta, joka pitää avaimet lajiteltuina järjestyksessä nopeaa hakua varten. |
Jokaisessa solmussa on oltava korkeintaan kaksi lapsisolmua, jolloin jokainen solmu on kytketty tarkalleen yhdestä muusta solmusta suunnatulla reunalla. | Vasemman alaryhmän solmujen arvo on pienempi tai yhtä suuri kuin juurisolmun arvo, ja oikean ala-osan solmujen arvot ovat suurempia tai yhtä suuret kuin juurisolmun arvo. |
Solmujen järjestämiselle ei ole suhteellista järjestystä. | Se seuraa lopullista järjestystä siitä, kuinka solmut tulisi järjestää puussa. |
Periaatteessa se on hierarkkinen tietorakenne, joka on solmuiksi kutsuttujen elementtien kokoelma. | Se on vaihtoehto binaaripuusta, jossa solmut on järjestetty suhteellisessa järjestyksessä. |
Sitä käytetään tietojen nopeaan ja tehokkaaseen hakuun puurakenteessa. | Sitä käytetään pääasiassa elementtien lisäämiseen, poistamiseen ja etsimiseen. |
Vaikka molemmat simuloivat hierarkkista puurakennetta, joka edustaa solmujen kokoelmaa, ja jokainen solmu edustaa arvoa, ne eroavat toisistaan aivan siinä suhteessa, miten ne voidaan toteuttaa ja hyödyntää. Binaarinen puu noudattaa yhtä yksinkertaista sääntöä, jonka mukaan jokaisessa vanhemmassa solmussa ei ole enempää kuin kaksi lapsisolmua, kun taas binaarinen hakupuu on vain binaaripuun variantti, joka seuraa suhteellista järjestystä siihen, kuinka solmut tulisi järjestää puussa..