Kuidas teha Inorder Läbipääsusüsteemid in Kahendpuu Java

Java ei ole Binääripuu klassi, kuigi see on lihtne esitada versiooni andmestruktuur võtta ette inorder läbipääsusüsteemid."Läbipääsusüsteemid" binaarse puu on stereotüüpne kord külastate iga sõlme kohta Binääripuu korraga.Inorder läbipääsusüsteemid kavatseb seda teha sorteeritud järjekorras.Läbipääsusüsteemid teostatakse sageli mingi iteraatoris (nagu nimekirja iteraatoris) või meetod, mis kutsuvad tagasihelistamise meetod iga sõlme.Võite siiski seda teha ilma callbacks või iteraatorid asemel trükkimine konsooli iga sõlme külastanud.

juhised

  1. Loo põhi kahendotsingupuu klassi.Sel hetkel, siis on vaja ainult põhi ehitaja meetod, mis käivitab sõlme väärtuse ja sisestada meetod.Insert meetod sõelub puu ja teha uus sõlm õiges kohas."" public class BinaryTree {
    BinaryTree vasakule;
    BinaryTree õigus;
    int väärtus;

    avaliku BinaryTree (int v) {
    väärtus = v;
    }

    // Sisesta väärtus tüvesse
    public void lisada (int v) {
    kui (v & lt; väärtus) {
    kui (vasakul == null)
    vasakule = new BinaryTree (v);
    teine ​​
    left.insert (v);
    }

    muud kui (v & gt; väärtus) {
    kui (paremal == null)
    õigus = new BinaryTree (v);
    teine ​​
    right.insert (v);
    }
    }
    } ""

  2. Loo Näiteks (sõlm) binaarse puu, mis on juurtipust.Nagu iga teine ​​sõlm, juurtipust peab olema väärtus.See on tavaliselt parem valida lähedane väärtus mediaan objektide sa hoidmiseks, kui kahendpuuks peaks olema võimalikult tasakaalukas."" BinaryTree b = new BinaryTree (50); ""

  3. Sisesta sõlmede tüvesse konkreetsetes et säilitada tasakaalu, sest see Binääripuu ei ole auto tasakaalustamine.See loob näiteks väiksema puu võimalik, et säilitada tõhusust. "" 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); ""

  4. liiguvad puu kasutades inorder läbipääsusüsteemid.Vasakul puu läbitakse esimene, järgnesid juurtipust, ja siis õige puu tõmmatakse.Kasutades recursion, kood on ainult kolm rida.Kuid kuna recursion võtab virna space tuleb ettevaatlikult kasutada.Väikese ja tasakaalustatud Binääripuu, recursion ei uputa virna.

  5. Lisa uus meetod Java BinaryTree klassi nimetatakse inorder.
    "" public void inorder () {
    kui (vasakul! = Null) left.inorder ();
    System.out.println (väärtus);
    kui (õigus! = Null) right.inorder ();
    } ""

  6. Helista inorder meetod pärast lisab printida tippe sorteeritud järjekorras. "" B.inorder (); "

Tips & amp; Hoiatused

  • meetodid nagu "kustuta sõlme" meetod ei toeta seda näiteks klassi.
  • Selles näide inorder läbipääsusüsteemid, korstna ainult kasvab kõrgusega puu, nii korstna võitis "t ülevoolu. Kui teie Binääripuu on väga suur, läbipääsusüsteemid funktsiooni tuleks rakendada korduvalt.
  • Nagu teistegi programmeerimiskeelt, tasakaalustamata kahendpuuks Java võib muutuda väga pikk ja on ebaefektiivne.
706
0
1
Java Programming