Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Hoe om te doen Postorder traversal in een binaire boom in Java
Hoewel Java biedt geen binaire boom klasse in de standaard bibliotheken , een fundamentele binaire boom klasse is eenvoudig genoeg om te worden gepresenteerd. A " traversal " een gegevensstructuur is een algoritme dat elk knooppunt keer bezoekt . Dit wordt vaak uitgevoerd als een soort iterator ( net als een lijst iterator ) of methode die een callback-methode voor elk knooppunt zullen noemen . Op Java , om een ​​" postorder " traversal , die een bezoek aan de wortelknoop laatste doen , geen terugbellen of iteratoren zijn noodzakelijk . De traversal functie zal eenvoudig elk knooppunt het bezoeken aan de console af te drukken . Instructies
1

Schrijf een fundamentele binaire zoekboom klasse . Er zijn slechts twee methoden die moeten in dit stadium te worden ondersteund : een basis constructeur die het knooppunt waarde , en een insert methode initialiseert . De insert methode zal een boom doorkruisen en maak een nieuw knooppunt op de juiste plaats . " " public class BinaryTree { BinaryTree links; BinaryTree rechts; int waarde ; openbare BinaryTree ( int v ) { waarde = v ; } //Plaats een waarde in de boom public void insert ( int v ) { if ( v if ( links = = null ) links = new BinaryTree ( v ) ; anders left.insert ( v ) ; } else if ( v > value ) { if ( rechts == null ) rechts = new BinaryTree ( v ) ; anders right.insert ( v ) ; . } } " " kopen van 2

Maak een instantie van de binaire boom waarvan de wortel knooppunt zal zijn Elk knooppunt , zelfs de wortel knooppunt , moet een waarde
< br . > 3

Kies een waarde voor de root- knooppunt dat is ergens in het midden van de objecten die je zult opslaan . bijvoorbeeld, als je het opslaan van een gelijkmatige verdeling van de getallen van 1 tot 100 , 50 is een goede keuze voor de wortel knooppunt Binary bomen moeten zo evenwichtig mogelijk , omdat onevenwichtige bomen groeien zeer hoog en zijn niet erg effectief " " BinaryTree b = new BinaryTree ( 50 ) ; " . '.

Insert 4 sommige nodes in de boom . Omdat deze boom is niet auto - balancing , om het evenwicht te behouden , knooppunten moet worden in een bepaalde volgorde geplaatst . de volgorde in dit voorbeeld code is gemaakt om de kortste en meest efficiënte structuur mogelijk te maken . " " b . inzetstuk ( 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

Verplaats de boom , doorkruisen de linker boom , gevolgd door de juiste boom , en uiteindelijk de wortelknoop . Als recursie wordt gebruikt voor het doen van de postorder traversal , de methode is slechts drie regels lang . In dit geval zal de stapel alleen maar groeien tot de hoogte van de boom . Omdat de boom is evenwichtig en klein , recursie zal niet overstromen de stapel .
6

Voeg een nieuwe methode om de BinaryTree klasse met de naam postorder . hier , het drukt alleen de waarde van elk knooppunt het bezoekt . " " public void postorder ( ) { if ( links ! = null ) left.postorder ( ) if ( rechts = null ) right.postorder ( ) ; ! System.out.println ( waarde ) ;} " "
7

Print de knooppunten in postorder door te bellen naar de b.postorder methode na uw inserts " " b.postorder ( ) ; " .

Previous: Next:
  Java Programming
·Hoe om te doen Exponenten in J…
·Hoe maak je een Java WAR Pakke…
·Hoe maak je een parser opmaken…
·Hoe u de grootte File Read in …
·Hoe te Backslashes Vervangen d…
·Hoe maak je een GUI In Java co…
·Hoe kan ik schrijven Java dat …
·Wat is een Constructor methode…
·Hoe te Rijen Zet in JTable 
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Tutorial on SQL Functions 
·Toegang krijgen tot MySQL Vanaf PHP 
·Hoe te Python compileren met Cygwin 
·Hoe kan ik een database kopiëren Met Vi…
·Hoe maak je een knop Download een bestan…
·Java Processing Color Gradient 
·Wat is het verschil tussen SHA en SHA - …
·PHP MySQL Database Query 
·Netwerken Klassen & Interfaces 
Copyright © Computer Kennis http://www.nldit.com