Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur till Traverse Binära träd i Java

    Binära träd är komplexa datastrukturer som används i datorprogram för att lagra data i minnet med hjälp av en gemensam lagring algoritm . Genom att använda denna typ av algoritm , kan data lagras i ett stabilt mönster , vilket gör hämtning och söka igenom data enklare . Java programmerare som designar binära träd är mer än sannolikt också konstruera algoritmer för att korsa dessa datastrukturer . Det finns tre sätt att färdas binära träd : i - ordning , pre - order , och post- order . Saker du behöver Review, Java Development Kit ( JDK ) katalog Textredigeraren
    Visa fler instruktioner
    1

    Traverse det binära trädet med i - ordning traversering . Förutsatt att klassen " BT " representerar ett binärt träd , visar följande kod hur man skriver ut trädet i - ordning . Varje nod har en vänster och höger pekare som pekar på den vänstra och högra noderna i den aktuella noden , tillsammans med ett dataobjekt som representerar dess värde. Den in - för traversering kommer korsa vänster noden först tills slå null , och trycket den överordnade noden innan traversera höger och börja om . Det innebär att varje nod endast skrivs ut om alla dess vänstersidiga barnnoder har tryckt först :

    public class BT {

    public void inorder ( Node x ) {

    if ( x == null ) {return ; //stoppar rekursion när ingen nod }

    inorder ( x.left ) , //alltid korsa vänster firstprint x.data ; //skriva data en gång den vänstra noden returnsinOrder ( x.right ) , //travers höger }
    2

    Traverse trädet förbeställa . Denna order är liknande i - ordning , förutom att skriva av noden kommer innan någon förflyttning . Så kommer noden ut dess värde , och sedan korsa vänster . Sedan, när rekursion återgår till noden efter att ha passerat vänster, kommer noden genomkorsa sedan höger. Detta innebär att noden alltid kommer ut sig innan något barn noder print :

    public void preorder ( Node x ) {

    if ( x == null ) {return ; //stoppar rekursion när det finns ingen Node }

    print x.data , //printinOrder ( x.left ) , //travers leftinOrder ( x.right ) , //travers höger } Addera 3

    Traverse trädet efter beställning . Detta är motsatsen till den förbeställa traversering . En nod kommer alltid att se till vänster eller höger noder innan du skriver själv , vilket innebär att alla andra underordnade noder under den kommer ut först :

    public void Postorder ( Node x ) {

    if ( x == null ) {return ; //stoppar rekursion när ingen nod }

    inorder ( x.left ) , //travers leftinOrder ( x.right ) , //travers rightprint x.data ; //print } Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man installerar en Java Startförbikopplingen Admin…
    ·Hur man gör Java Knappar samma storlek
    ·Tittar Applets i NetBeans
    ·Jag går inte ut v på en Java-applet
    ·Orsak av Java Undantag
    ·Hur man skapar en Java -fil
    ·Överbelastning Metoder i Java
    ·Lägga till en bild till ett projekt i NetBeans
    ·Java och slumpfunktioner
    ·Hur man använder en scanner för flera ord i Java
    Utvalda artiklarna
    ·Hur du kontrollerar om en sträng variabel Innehållet …
    ·CodeIgniter Vs. ExpressionEngine
    ·Hur man skapar en rullgardinsmeny i ett DataGridView Ko…
    ·Hur man laddar en webbsida med socklar i VB.NET
    ·Funktion i C för Palindrommar
    ·PowerShell Windows 7 Tutorial
    ·Hur att skapa program för Windows Mobile Net
    ·VB Code Integer till String Konvertering
    ·Så tolkar Java Regex
    ·Hur Fyll DataSet & Bind DataGridView i olika trådar
    Copyright © Dator Kunskap http://www.dator.xyz