Puu edustaa solmut yhdistetty reunat. Keskustelemme binary tree tai binary search tree erityisesti.
Binääripuu on erityinen datarakenne, jota käytetään tietojen tallentamiseen. Binääripuussa on erityinen ehto, että jokaisella solmulla voi olla enintään kaksi lasta., Binääripuu on hyötyä sekä määräsi, taulukko ja linkitetty lista, koska haku on yhtä nopea kuin lajitellun array ja lisäys tai poisto-operaatio on niin nopeasti kuin vuonna linkitetty lista.
Tärkeitä Termejä
Seuraavat ovat tärkeitä suhteen puun.
-
Polku − Polku viittaa järjestyksessä solmuja pitkin reunat puuhun.
-
juuri − puun latvassa olevaa solmua kutsutaan juureksi. Juurta kohti on vain yksi juuri ja yksi polku juurisolmusta mihin tahansa solmuun.,
-
vanhempi − mikä tahansa solmu paitsi juurisolmu on yksi reuna ylöspäin solmuun, jota kutsutaan vanhemmaksi.
-
lapsi − tietyn solmun alapuolella olevaa solmua, joka on yhteydessä sen reunasta alaspäin, kutsutaan sen lapsisolmuksi.
-
Leaf − solmua, jossa ei ole lapsisolmua, kutsutaan lehtisolmuksi.
-
Alipuu − Alipuu edustaa jälkeläisiä solmu.
-
vierailulla tarkoitetaan solmun arvon tarkistamista, kun kontrolli on solmussa.
-
Piste − Piste tarkoittaa läpi solmut tietyssä järjestyksessä.,
-
tasotasot − solmun taso edustaa solmun sukupolvea. Jos root-solmu on tasolla 0, niin sen seuraava lapsi solmu on tasolla 1, sen lapsenlapsi on tasolla 2, ja niin edelleen.
-
avaimet − avain edustaa solmun arvoa, jonka perusteella solmulle tehdään hakutoiminto.
Binary Search Tree Edustus
Binary Search tree osoittaa erityistä käyttäytymistä. Solmun vasemman lapsen arvon on oltava pienempi kuin sen vanhemman arvo ja solmun oikean lapsen arvon on oltava suurempi kuin sen vanhemman arvo.,
aiomme toteuttaa käyttäen puu solmu kohde ja yhdistää ne läpi viittauksia.
Puusolmu
puusolmun kirjoittamiskoodi olisi samanlainen kuin alla. Siinä on dataosa ja viittaukset sen vasempaan ja oikeaan lapsisolmuun.
struct node { int data; struct node *leftChild; struct node *rightChild;};
puussa kaikilla solmuilla on yhteinen konstruktio.
BST Perus Toiminnot
perustoiminnot, jotka voidaan suorittaa binary search tree tietorakenne, ovat seuraavat −
-
Lisää − Lisää elementti, puu – /luoda puu.,
-
Etsi − etsii elementin puusta.
-
Preorder Traversal − Traverses a tree in a pre-order manner.
-
Monena Traversal − Kulkee puu in-order tavalla.
-
Postorder Traversal − Kulkee puun post-order tavalla.
– Meillä on oppia luomaan (työntämällä) puun rakenne ja etsimällä tietoja kohteen puu tässä luvussa. Tutustumme puiden läpiajomenetelmiin tulevassa luvussa.
Lisää Käyttö
ensimmäinen lisäys luo puu., Jälkeenpäin, aina kun elementti on lisättävä, etsi ensin sen oikea sijainti. Aloita haku juurisolmusta, niin jos tiedot ovat alle avaimen arvon, etsi tyhjä sijainti vasemmasta alalajista ja lisää tiedot. Muussa tapauksessa etsi tyhjä sijainti oikeassa alakulmassa ja lisää tiedot.,
Algoritmi
If root is NULL then create root nodereturnIf root exists then compare the data with node.data while until insertion position is located If data is greater than node.data goto right subtree else goto left subtree endwhile insert dataend If
Toteutus
täytäntöönpanon aseta toiminto pitäisi näyttää tältä.
Etsi Toimintaa
Aina kun elementti on etsinyt, aloittaa haun juuresta solmuun, sitten jos tiedot on vähemmän kuin avain-arvo, etsi osa vasen alipuu. Muuten, etsi Elementti oikeassa subtree. Seuraa samaa algoritmia jokaiselle solmulle.
Algoritmi
If root.data is equal to search.data return rootelse while data not found If data is greater than node.data goto right subtree else goto left subtree If data found return node endwhile return data not found end if
täytäntöönpanoa algoritmin pitäisi näyttää tältä.,
Jos haluat tietää binäärihakupuun tietorakenteen toteutuksesta, klikkaa tästä.