Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
De hoogte van een binaire boom in Java
Efficiënte data structuren te optimaliseren prestaties van een programma door het gemakkelijker voor het programma om de gegevens die zij nodig vinden . Binary search bomen zijn een van de meest efficiënte datastructuren voor doorzoeken van een geordende dataset . Of uw data structuur is een georganiseerde binary - search boom of een standaard binaire boom , kunt u de hoogte van de boom op Java te vinden door middel van een eenvoudige recursieve functie . Boom Structuur

Een binaire boom
bestaat uit een set van onderling verbonden knooppunten . Elk knooppunt heeft tussen nul en twee onderliggende knooppunten . Elk knooppunt met uitzondering van het hoofdknooppunt precies een bovenliggende knooppunt . De wortel node geen bovenliggende knooppunten . Java heeft geen ingebouwde binaire boom klasse , maar u kunt uw eigen te maken vanuit het niets of download er een van internet .
Boom Hoogte

De hoogte van een binaire boom is het maximale aantal knooppunten , niet met root -knooppunt , langs een enkele verticale traversal via de binaire boom . Bijvoorbeeld , zou een binaire boom met slechts een knooppunt een hoogte hebben van nul . Een binaire boom met een wortel knooppunt met twee onderliggende knooppunten zou een hoogte van een te hebben . Als een van die onderliggende knooppunten had zijn eigen onderliggende node , zou de boom een hoogte van drie hebben .
Theorie

De eenvoudigste manier om de hoogte te bepalen van een binaire boom in Java is met een iteratieve methode . Deze methode accepteert een knooppunt als argument en retourneert de hoogte van de binaire boom onder het argument knooppunt . Werkwijze dringt zich opnieuw voor elke stelling knooppunt childnodes en slaat het resultaat als een integer variabele . Het vergelijkt de twee variabelen die de hoogte van elk van zijn kinderen vertegenwoordigen , voegt men aan de grootste van de twee variabelen en geeft het resultaat . Als het argument knooppunt aan de methode doorgegeven null is , retourneert de methode negatieve.
Algoritme

De volgende Java- methode zal de hoogte van een binaire boom te berekenen . Het accepteert de wortel knooppunt van een binaire boom als argument . Als alternatief zou je een ander knooppunt van de binaire boom overgaan in de methode om de hoogte van de boom onder dat knooppunt vinden . De volgende code wordt aangenomen dat elke knoop van de binaire boom van het type " BinaryTreeNode " en elk knooppunt bevat methoden die de linker en rechter kinderen die node " getLeftChild " en terugkeren " getRightChild . "

private int findHeight ( BinaryTreeNode currentNode ) { if ( currentNode.equals ( null) ) { return -1 ; } int leftHeight = findHeight ( currentNode.getLeftChild ( ) ) ; int Rightheight = findHeight ( currentNode.getRightChild ( ) ) ; int greatestHeight = Math.max ( leftHeight , Rightheight ) ; return greatestHeight ; }

Previous: Next:
  Java Programming
·NetBeans : Hoe beelden toevoeg…
·Hoe maak je een Java Swing spe…
·Hoe maak je een abstracte klas…
·Hoe maak je een Roast Pork Knu…
·Hoe vindt u de Gemiddelde van …
·Een tutorial over SQL Server i…
·Hoe te WEBrick Stop op NetBean…
·Hoe kan ik een project in NetB…
·Hoe te XML & JDOM Verwerk in J…
  Related Articles
Hoe maak je een Visual Basic- programma …
Hoe de Visual Data Manager gebruiken in …
Hoe de TabStrip controle in Visual Basic…
Hoe de DTPicker controle in Visual Basic…
Hoe de Draw Command in Visual Basic Gebr…
Hoe de Menu Editor gebruiken in Visual B…
Hoe te Disable /Enable Command Knoppen i…
Hoe de VBScript Locatie Object Gebruik 
Hoe de VBScript Geschiedenis Object Gebr…
  Programmering Articles
·Hoe te Accents verwijderen in een VB6 St…
·Hoe maak je 3D Array maken in Python 
·Kan ik gebruik PHP om te bekijken wat Di…
·Hoe te converteren C + + ASCII naar UTF8…
·Hoe te Default XML Editor gebruiken in E…
·Hoe te gebruiken mailx te sturen naar me…
·Wat is een computer programma Directory?…
·Hoe je Java Runtime Environment 5.0 down…
·Hoe maak je een Stroomschema voor CSS Hi…
Copyright © Computer Kennis http://www.nldit.com