| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Java Programming >> Content
    Come fare postordine in un albero binario in Java
    Anche se Java non fornisce una classe albero binario nelle librerie predefinite , una classe di base albero binario è abbastanza semplice da presentare . A " attraversamento " di una struttura di dati è un algoritmo che visita ogni nodo volta . Questo è spesso implementato come una sorta di iteratore ( molto simile a un elenco iteratore ) o il metodo che chiamerà un metodo di callback per ogni nodo . In Java , per fare un " postorder " traversal che visiterà il nodo radice ultima , non sono necessari richiami o iteratori . La funzione di attraversamento sarà sufficiente stampare ogni nodo che visita alla console . Istruzioni
    1

    Scrivi una ricerca di classe di base albero binario . Ci sono solo due metodi che devono essere sostenuti in questa fase : un costruttore di base che inizializza il valore del nodo , e un metodo di inserimento . Il metodo insert attraversamento di un albero e creare un nuovo nodo nella posizione corretta . " " public class BinaryTree { BinaryTree sinistra ; BinaryTree destra ; valore int ; pubblico BinaryTree ( int v) {valore = v; } //Inserire un valore nell'albero public void insert ( int v) {if (v if ( sinistra = = null) a sinistra = new BinaryTree ( v) ; altro left.insert (v );} else if (v > value) {if ( a destra == null) a destra = new BinaryTree ( v) ; altro right.insert (v ) , . } } " "
    2

    Creare un'istanza del albero binario che sarà il nodo radice ogni nodo , anche il nodo principale , deve avere un valore
    < br . > 3

    scegliere un valore per il nodo radice che è da qualche parte nel mezzo degli oggetti sarete riporlo. Ad esempio, se stai memorizzare una distribuzione uniforme di numeri da 1 a 100 , 50 è una buona scelta per il nodo principale alberi binari dovrebbero essere il più equilibrato possibile , dal momento che gli alberi sbilanciati crescono estremamente alta e non sono molto efficaci " " BinaryTree b = new BinaryTree (50); " . ».
    4

    Insert alcuni nodi nell'albero. Dato che questo albero non è auto - bilanciamento , per mantenere l'equilibrio, i nodi devono essere inseriti in un ordine specifico . l'ordine in questo codice di esempio è realizzato per rendere l'albero più breve e più efficiente possibile . " " b . inserto ( 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

    attraversare l'albero , attraversare l'albero a sinistra per primo, seguito da l'albero giusto , e poi finalmente la nodo radice . Se ricorsione viene utilizzata per fare il postordine , il metodo è lunga solo tre linee . In questo caso , lo stack crescerà soltanto fino all'altezza dell'albero . Poiché l'albero è bilanciato e piccoli , ricorsione non overflow lo stack .
    6

    Aggiungi nuovo metodo alla classe BinaryTree chiamato postorder . Ecco , stampa solo il valore di ogni nodo che visita. " " vuoto postorder pubblico ( ) {if ( a sinistra ! = null ) left.postorder ( ), se ( a destra = null) right.postorder (); ! System.out.println ( value); } " "
    7

    Stampa i nodi postorder chiamando il metodo b.postorder dopo i vostri inserti " " b.postorder (); " .

    Previous :

    next :
      Articoli Correlati
    ·Come scrivere Android 1.1 SDK Code 
    ·Come formattare metodo restituisce con virgole in Java 
    ·Come mantenere Lettere nel telaio in Java 
    ·Come aprire una porta su Android 
    ·ServerSocket usare la chat in Java 
    ·Come leggere i file HTML utilizzando Java 
    ·Come Eseguire un test V8 su un Android 
    ·Come prendere in ingresso in un loop in Java 
    ·Quali sono le cause JRun Servlet Error 500 Null 
    ·I passaggi per convertire un interfaccia grafica in un …
      Articoli in evidenza
    ·Come utilizzare Visual C 6 
    ·A proposito di errore Percorsi di debug in Perl 
    ·Come utilizzare la funzione memset in C + + 
    ·Come utilizzare il Blocco note di compilare un programm…
    ·Come utilizzare una connessione VB6 Adode visualizzare …
    ·Come inserire Faces Java come un frammento JSP 
    ·Come creare un COBOL quaderno 
    ·Come ottenere un profilo utente in VBS 
    ·Come fare il tuo gioco PSP 
    ·Come fare un menu in Matlab 
    Copyright © Conoscenza Informatica http://it.wingwit.com