| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Programmation Java >> Content
    Comment faire Postorder Traversal dans un arbre binaire en Java
    Bien que Java ne fournit pas une classe d'arbre binaire dans les bibliothèques par défaut , une classe d' arbre binaire de base est assez simple pour être présenté . Un " traversée " d'une structure de données est un algorithme qui rend chaque noeud une fois . Ce changement intervient souvent comme une sorte de iterator (un peu comme une liste iterator ) ou une méthode qui va appeler une méthode de rappel pour chaque noeud. En Java, de faire un " postorder " traversée qui se rendra le nœud racine dernier , aucun des rappels ou des itérateurs sont nécessaires. La fonction traversée sera simplement imprimer chaque nœud , il se rend à la console. Instructions
    1

    Ecrire une recherche classe d' arbre binaire de base. Il n'y a que deux méthodes qui doivent être pris en charge à ce stade : un constructeur de base qui initialise la valeur du noeud , et une méthode d'insertion. La méthode d'insertion va traverser un arbre et créer un nouveau nœud au bon endroit . "" public class BinaryTree { BinaryTree gauche ; BinaryTree droit ; int valeur ; publique BinaryTree (int v) {valeur = v ;} //insérer une valeur dans l'arbre insert public void (int v) {if (v if ( gauche = = null) gauche = new BinaryTree ( v); d'autre left.insert ( v); } else if ( v> value) { if ( droite == null) à droite = new BinaryTree ( v); d'autre right.insert ( v) ; . }} " "
    2

    Créer une instance de l'arbre binaire qui sera le nœud racine Chaque noeud, même le nœud racine , doit avoir une valeur
    < br . > 3

    Choisissez une valeur pour le noeud racine qui est quelque part au milieu des objets que vous serez de stockage. par exemple, si vous stockez une répartition uniforme des nombres de 1 à 100 , 50 est un bon choix pour le nœud racine des arbres binaires doivent être aussi équilibrée que possible, car les arbres poussent extrêmement déséquilibrés grand et ne sont pas très efficaces "" BinaryTree b = new BinaryTree (50); " . "
    4

    Insertion. certains nœuds dans l'arbre. Depuis cet arbre n'est pas auto- équilibrage , pour conserver l'équilibre , les nœuds doivent être insérés dans un ordre précis . l'ordre dans cet exemple de code est conçu pour rendre l'arbre plus court et le plus efficace possible. "" b . insert (20); b.Insérez (40); b.Insérez (10); b.Insérez (5); b.Insérez (45); b.Insérez (70); b.Insérez (60); b.Insérez (80); b.Insérez (55); b.Insérez (85); ""
    5

    parcourir l'arborescence , parcourant l'arborescence de gauche en premier, suivi par le bon arbre , et puis finalement le nœud racine. Si la récursivité est utilisée pour faire le parcours postfixe , la méthode est à seulement trois lignes. Dans ce cas, la pile ne fera que croître à la hauteur de l'arbre . Depuis l'arbre est équilibré et petit , la récursivité ne débordera la pile.
    6

    Ajouter nouvelle méthode à la classe BinaryTree appelé postorder . ici, il imprime uniquement la valeur de chaque nœud sur lequel il se rend . "" postorder public void () {if (à gauche ! = null ) left.postorder (); if ( droite = null) right.postorder (); ! System.out.println ( value); } ""
    7

    Imprimer les nœuds postorder en appelant la méthode de b.postorder après vos inserts "" de b.postorder (); " .

    Previous :

    next :
      articles connexes
    ·Comment écrire des programmes Java 
    ·Comment attraper une exception dans un bloc statique en…
    ·Comment télécharger de gros fichiers Java à un site …
    ·Différence entre Java et Mutable immuables 
    ·Différences entre Java 1.4 et Java 1.5 
    ·Java serveur de conversation Tutorial 
    ·Comment faire pour utiliser SQL avec Java 
    ·Comment calculer le pourcentage de caractères en Java 
    ·Comment calculer la date Différence en Java 
    ·Comment réparer Java: Lang Null Pointer Exception 
      articles en vedette
    ·Comment faire des paquets de Cydia sur un iPhone 
    ·Comment effectuer un décalage Bit en Java 
    ·Comment dessiner des formes multiples dans Java 
    ·Comment formater du texte en HTML sur VBA 
    ·Comment obtenir les noms de propriétés de l'objet dan…
    ·Comment écrire un programme informatique 
    ·Comment allouer un pointeur de tableau 2D 
    ·Comment faire un bouton cliquable en C 
    ·Comment mettre des photos en Java BlueJ 
    ·Comment faire pour empêcher JavaScript d'être consult…
    Copyright © Connaissances Informatiques http://fr.wingwit.com