logo

Binääripuu vs binaarihakupuu

Ensinnäkin ymmärrämme binääripuu ja binäärihakupuu erikseen, ja sitten tarkastellaan binääripuun ja binäärihakupuun välisiä eroja.

Mikä on binaaripuu?

A Binäärinen puu onOsoitin vasemmalle lapselle:Se tallentaa vasemmanpuoleisen lapsisolmun viitteen.Osoitin oikeaan lapseen:Se tallentaa oikean lapsisolmun viitteen.Tietoelementti:Tietoelementti on solmun tallentaman datan arvo.

Binääripuu voidaan esittää seuraavasti:

Binääripuu vs binaarihakupuu

Yllä olevassa kuvassa voimme havaita, että jokainen solmu sisältää enintään 2 lasta. Jos jokin solmu ei sisällä vasenta tai oikeaa aliosaa, osoittimen arvo kyseiseen lapseen nähden olisi NULL.

Binääripuussa käytetyt perusterminologiat ovat:

    Juurisolmu:Juurisolmu on binääripuun ensimmäinen tai ylin solmu.Pääsolmu:Kun solmu on yhdistetty toiseen solmuun reunojen kautta, kyseinen solmu tunnetaan pääsolmuna. Binääripuussa emosolmulla voi olla enintään 2 lasta.Lapsisolmu:Jos solmulla on edeltäjänsä, niin tämä solmu tunnetaan nimellä a lapsisolmu .Lehden solmu:Solmu, joka ei sisällä lapsia, joka tunnetaan nimellä a lehtien solmu .Sisäinen solmu:Solmu, jolla on vähintään 2 lasta, joka tunnetaan nimellä an sisäinen solmu .Solmun syvyys:Etäisyys juurisolmusta tiettyyn solmuun tunnetaan nimellä a solmun syvyys . Tarjoamme tunnisteet kaikille solmuille, kuten juurisolmu on merkitty 0:lla, koska sillä ei ole syvyyttä, juurisolmujen lapset on merkitty 1:llä, juuren lapset on merkitty 2:lla.Korkeus:Pisin etäisyys juurisolmusta lehtisolmuun on solmun korkeus .

Binääripuussa on yksi puu, joka tunnetaan nimellä a täydellinen binääripuu . Se on a puu, jossa kaikissa sisäisissä solmuissa on oltava kaksi solmua ja kaikkien lehtien solmujen on oltava samalla syvyydellä. Täydellisen binääripuun tapauksessa binääripuussa olevien solmujen kokonaismäärä voidaan laskea käyttämällä seuraavaa yhtälöä:

n = 2m+1-1

missä n on solmujen lukumäärä, m on solmun syvyys.

Mikä on binäärihakupuu?

A Binäärihakupuu on puu, joka noudattaa jotakin järjestystä elementtien järjestämisessä, kun taas binääripuu ei seuraa mitään järjestystä. Binaarihakupuussa vasemman solmun arvon on oltava pienempi kuin pääsolmun ja oikean solmun arvon on oltava suurempi kuin pääsolmun.

Ymmärretään binäärihakupuun käsite esimerkkien avulla.

Binääripuu vs binaarihakupuu

Yllä olevasta kuvasta voidaan havaita, että juurisolmun arvo on 15, mikä on suurempi kuin kaikkien vasemman alipuun solmujen arvo. Juurisolmun arvo on pienempi kuin oikeanpuoleisen alipuun kaikkien solmujen arvot. Nyt siirrymme juurisolmun vasempaan jälkeläiseen. 10 on suurempi kuin 8 ja pienempi kuin 12; se täyttää myös binaarihakupuun ominaisuuden. Nyt siirrymme juurisolmun oikeaan jälkeläiseen; arvo 20 on suurempi kuin 17 ja pienempi kuin 25; se myös täyttää binäärihakupuun ominaisuuden. Siksi voimme sanoa, että yllä oleva puu on binäärihakupuu.

Jos nyt muutamme yllä olevan binääripuun arvon 12 arvoon 16, meidän on selvitettävä, onko se edelleen binäärihakupuu vai ei.

Binääripuu vs binaarihakupuu

Juurisolmun arvo on 15, joka on suurempi kuin 10 mutta pienempi kuin 16, joten se ei täytä binaarihakupuun ominaisuutta. Siksi se ei ole binäärihakupuu.

Toiminnot binaarihakupuussa

Voimme suorittaa lisäys-, poisto- ja hakutoimintoja binäärihakupuussa. Ymmärretään, kuinka haku suoritetaan binäärihaulla. Alla näkyy binääripuu, jolla meidän on suoritettava hakutoiminto:

Binääripuu vs binaarihakupuu

Oletetaan, että meidän on etsittävä 10 yllä olevasta binääripuusta. Suorittaaksemme binäärihaun, otamme huomioon kaikki järjestetyssä taulukossa olevat kokonaisluvut. Ensin luomme täydellisen luettelon hakutilaan, ja kaikki numerot ovat hakutilassa. Hakuavaruus on merkitty kahdella osoittimella, eli alku ja loppu. Yllä olevan binääripuun taulukko voidaan esittää muodossa

Binääripuu vs binaarihakupuu

Ensin lasketaan keskielementti ja verrataan keskimmäistä elementtiä etsittävään elementtiin. Keskielementti lasketaan käyttämällä n/2:ta. n:n arvo on 7; keskimmäinen elementti on siis 15. Keskielementti ei ole sama kuin haettu elementti, eli 10.

Huomautus: Jos etsittävä elementti on pienempi kuin keskielementti, haku suoritetaan vasemmalla puoliskolla; muussa tapauksessa haku suoritetaan oikealla puoliskolla. Tasa-arvon tapauksessa elementti löytyy.

Koska etsittävä elementti on pienempi kuin keskielementti, haku suoritetaan vasemmanpuoleisesta taulukosta. Nyt haku on puolitettu, kuten alla:

Binääripuu vs binaarihakupuu

Vasemman taulukon keskielementti on 10, joka on yhtä suuri kuin haettu elementti.

Aika monimutkaisuus

Binäärihaussa on n elementtiä. Jos keskimmäinen elementti ei ole sama kuin haettu elementti, niin hakuavaruus pienennetään arvoon n/2 ja jatketaan hakuavaruuden pienentämistä n/2:lla, kunnes elementti löytyy. Jos siirrymme n:stä n/2:een n/4:ään ja niin edelleen, se vie log2n askelta.

Erot binaaripuun ja binaarihakupuun välillä

Binääripuu vs binaarihakupuu

Vertailun perusteita Binäärinen puu Binäärihakupuu
Määritelmä Binääripuu on epälineaarinen tietorakenne, jossa solmulla voi olla korkeintaan kaksi lasta, eli solmulla voi olla 0, 1 tai enintään kaksi lasta. Binäärihakupuu on järjestetty binääripuu, jossa noudatetaan tiettyä järjestystä puun solmujen järjestämiseksi.
Rakenne Binääripuun rakenne on sellainen, että ensimmäinen tai ylin solmu tunnetaan juurisolmuna. Jokainen binaaripuun solmu sisältää vasemman ja oikean osoittimen. Vasen osoitin sisältää vasemman alipuun osoitteen, kun taas oikea osoitin oikean alipuun osoitteen. Binäärihakupuu on yksi binääripuutyypeistä, jonka vasemman alipuun kaikkien solmujen arvo on pienempi tai yhtä suuri kuin juurisolmu ja kaikkien oikeanpuoleisen alipuun solmujen arvo on suurempi tai yhtä suuri kuin juurisolmun arvo.
Toiminnot Toiminnot, jotka voidaan toteuttaa binääripuussa, ovat lisäys, poisto ja läpikulku. Binäärihakupuut ovat lajiteltuja binääripuita, jotka tarjoavat nopean lisäyksen, poistamisen ja haun. Haut toteuttavat pääasiassa binaarihaun, koska kaikki avaimet on järjestetty lajiteltuun järjestykseen.
tyypit Neljä binääripuutyyppiä ovat täysi binääripuu, täydellinen binääripuu, täydellinen binääripuu ja laajennettu binääripuu. Binäärihakupuita on erilaisia, kuten AVL-puut, Splay-puut, Tango-puut jne.