Kuidas teha Postorder Läbipääsusüsteemid in Binääripuu Java

Kuigi Java ei anna Binääripuu klassi vaikimisi raamatukogud, põhi Binääripuu klass on piisavalt lihtne esitada."Traversal" andmestruktuuri on algoritm, mis iga tippu üks kord.See on tihti rakendatud mingi iteraatoris (meelega nimekirja iteraatoris) või meetod, mis kutsuvad tagasihelistamise meetod iga sõlme.Java, teha "Postorder" läbipääsusüsteemid, mis külastab juurtipust viimase, no callbacks või iteraatorid on vajalik.Läbipääsusüsteemid funktsioon lihtsalt printida iga sõlm see külastab konsooli.

juhised

  1. Kirjutage põhi kahendotsingupuu klassi.On ainult kaks meetodit, et on vaja toetada praeguses etapis: põhi ehitaja, et käivitab sõlme väärtusest, ning sisestada meetod.Insert meetod sõelub puu ja looma uue sõlme õige koht."" 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. luua näiteks binaarne puu, mis on juurtipust.Iga sõlme, isegi juurtipust, peab olema väärtus.

  3. Vali hinna juurtipust see on kusagil keskel objektide saate salvestamise.Näiteks, kui sa ladustamiseks ühtlane jaotumine numbrid 1-100, 50 on hea valik juurtipust.Kahendpuuks peaks olema võimalikult tasakaalukas, sest tasakaalustamata puud kasvavad väga pikk ja ei ole väga tõhus. "" BinaryTree b = new BinaryTree (50); ""

  4. lisada mõned sõlmed tüvesse.Kuna see puu ei ole auto tasakaalustamine, et säilitada tasakaalu, sõlmed tuleks lisada kindlas järjekorras.Tellimus selles näites koodi on meisterdatud teha lühikese ja tõhusaim puu võimalik. "" 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); ""

  5. Traverse puu, läbides vasakult puu, millele järgneb õige puu, ja siis lõpuks juurtipust.Kui recursion kasutatakse teha Postorder läbipääsusüsteemid, meetod on ainult kolm rida pikk.Sel juhul magasini ainult kasvab kõrgusega puu.Kuna puu on tasakaalustatud ja väike, recursion ei uputa virna.

  6. Lisa uus meetod on BinaryTree klassi nimetatakse Postorder.Siinkohal ainult prindib väärtus iga sõlme ta külastab. "" Public void Postorder () {
    kui (vasakul! = Null) left.postorder ();
    kui (õigus! = Null) right.postorder ();
    System.out.println (väärtus);
    } ""

  7. Prindi tippe Postorder helistades b.postorder meetod pärast lisab.

    "" b.postorder (); "

Tips & amp; Hoiatused

  • Kuna recursion võtab korstna ruumi, siis tuleb kasutada ettevaatlikult. KuiSinu Kahendpuud väga suur, läbipääsusüsteemid funktsiooni tuleks rakendada korduvalt.
  • Keerulisem "kustutada sõlme" meetod ei toeta seda näiteks klassi.
269
0
1
Java Programming