| 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 attraversare alberi binari in Java
    alberi binari sono strutture complesse di dati utilizzati nei programmi per computer per memorizzare i dati in memoria utilizzando un algoritmo di memoria comune. Utilizzando questo tipo di algoritmo , i dati possono essere memorizzati in un modello stabile , rendendo il recupero e la ricerca attraverso dati più facile. Programmatori Java che progettano alberi binari sono più che probabile anche la progettazione di algoritmi di attraversare quelle strutture di dati . Ci sono tre modi per attraversare alberi binari : in ordine , il pre-ordine , e post- ordine . Cose che ti serviranno
    Java Development Kit ( JDK ) per l'editor di testo
    Show More Istruzioni
    1

    attraversare l'albero binario utilizzando in ordine di attraversamento . Supponendo che la classe "BT " rappresenta un albero binario , il codice seguente mostra come stampare l'albero in ordine . Ogni nodo ha un puntatore sinistro e destro che si riferisce ai nodi sinistro e destro del nodo corrente , insieme con un elemento di dati che rappresenta il suo valore . L' in -ordine sarà attraversare il nodo di sinistra prima fino a colpire nulla , e la stampa nodo del genitore prima di attraversare a destra e ricominciare da capo . L' significa che ogni nodo viene stampata solo se tutti i suoi nodi figlio del lato sinistro sono stampati prima :

    public class BT {

    public void inOrder (Nodo x ) {
    < p > if ( x == null) { return; //ricorsione si ferma quando non c'è nodo }

    inOrder ( x.left ) ; //sempre traversare a sinistra firstprint x.data ; //stampare i dati una volta il returnsinOrder nodo sinistro ( x.right ) ; //traverse a destra }
    2

    attraversare l'albero in pre- ordine . Questo ordine è simile a in-order , tranne che la stampa del nodo viene prima di ogni attraversamento . Quindi , il nodo viene stampato il suo valore , e poi attraversare a sinistra . Poi , quando la ricorsione ritorna al nodo dopo aver attraversato sinistra , il nodo verrà poi traversare a destra . Ciò significa che il nodo stamperà sempre se stessa prima di ogni bambino nodi stampa :

    public void Preorder (Nodo x ) {

    if ( x == null) { return; //ferma la ricorsione quando non vi è alcun nodo }

    stampa x.data ; //printinOrder ( x.left ) ; //traverse leftinOrder ( x.right ) ; //traversa a destra }
    3

    attraversare l'albero di post- ordine . Questo è l' opposto del pre -ordine . Un nodo cercherà sempre per i suoi nodi di sinistra o di destra prima della stampa stessa, il che significa che tutti gli altri nodi figlio sotto di esso verranno stampati prima :

    public void postorder (Nodo x ) {

    se ( x == null) { return; //ricorsione si ferma quando non c'è nodo }

    inOrder ( x.left ) ; //traverse leftinOrder ( x.right ) ; //traverse rightprint x.data ; //print}

    Previous :

    next :
      Articoli Correlati
    ·Come creare suffissi Modulo di classe 
    ·Come creare un'istanza di una classe anonima 
    ·Come eseguire un file NetBeans in CMD 
    ·Come convertire JSP per Java 
    ·Come creare una piramide doppia faccia in Java per l'ut…
    ·Come fare un archivio chiavi 
    ·Che cosa fa Array dimensione mancante media in programm…
    ·Come installare le più aggiornate Java 
    ·Come calcolare la data Differenza in Java 
    ·Come creare JAS con dipendenze 
      Articoli in evidenza
    ·Come imparare Struts Java 
    ·Come funzionano le API di lavoro 
    ·Come fare un triangolo in Visual Basic 
    ·Come convalidare un indirizzo di email utilizzando PHP 
    ·Come sostituire Point Rettangoli Pareggio in WPF 
    ·Come sostituire i caratteri non alfanumerici nel PHP 
    ·Come creare un nuovo database di SQL in VB.NET Express …
    ·Come sgonfiare il Icona PHP 
    ·Come installare Pygame con Python 2.7 su un Mac 
    ·Come fare un orologio in Python 
    Copyright © Conoscenza Informatica http://it.wingwit.com