Java ei ole binääripuu luokka, vaikka se on helppo esittää version tietorakenne tehdä monena kulkea."Läpikäyminen" of binääripuun on kaavamaisesta menettely vierailevat kunkin solmun binääripuu kerran.Monena läpikäyminen tekee tämän lajitellun järjestyksessä.Läpikäynti on usein toteutettu jonkinlainen iteraattori (kuten luettelo iteraattori) tai menetelmä, joka soittaa soittopyynnön menetelmä kullekin solmulle.Voit kuitenkin tehdä ilman kutsuja tai iteraattorit, sen sijaan tulostus konsoliin jokaisen solmun vieraili.
Luo perus binäärihakupuu luokan.Tässä vaiheessa, sinun tarvitsee vain perustiedot rakentaja menetelmä, joka alustaa solmun arvoa ja insertti menetelmä.Insertti menetelmä käy läpi puun ja tehdä uusi solmu oikeassa paikassa."" Public class BinaryTree {
BinaryTree jäljellä;
BinaryTree oikea;
int arvo;
julkinen BinaryTree (int v) {
arvo = v;
}
// Aseta arvo puuhun
public void insert (int v) {
jos (v & lt; arvo) {
jos (vasen == null)
vasemmalle = uusi BinaryTree (v);
muu
left.insert (v);
}
if (v & gt; arvo) {
jos (oikea == null)
oikealle = uusi BinaryTree (v);
muu
right.insert (v);
}
}
} ""
Luo ilmentymän (solmu) binääripuu, joka on juurisolmu.Kuten mikä tahansa muu solmu, juurisolmun on oltava arvo.Se on yleensä parasta valita arvoa lähellä mediaani objektien olet tallentamiseen, kuten binary puiden pitäisi olla mahdollisimman tasapainoinen."" BinaryTree b = uusi BinaryTree (50), ""
Aseta solmut puuhun tietyissä säilyttääkseen tasapainon, koska tämä binääripuu ei ole automaattinen tasapainotus.Tämä esimerkki luo pienin puu mahdollista, jotta säilyttää tehokkuus. "" B.insert (20);
b.insert (40);
b.insert (10);
b.insert (5);
b.insert (45);
b.insert (70);
b.insert (60);
b.insert (80);
b.insert (55);
b.insert (85); ""
Siirrä koko puun käyttäen monena kulkea.Vasen puu ajetaan ensin, sen jälkeen juurisolmun, ja sitten oikea puu ajetaan.Käyttämällä rekursio, koodi on vain kolme riviä.Kuitenkin, koska rekursio vie tilaa pinosta, sitä pitäisi käyttää huolella.Pienellä ja tasapainoinen binääripuu, rekursio ei tukahduta pino.
Lisää uuden menetelmän Java BinaryTree luokan nimeltä monena.
"" public void monena () {
jos (vasen! = Null) left.inorder ();
System.out.println (arvo);
jos (oikea! = Null) right.inorder ();
} ""
Soita monena menetelmän jälkeen insertit tulostaa solmut lajitellun järjestyksessä. "" B.inorder (); "