2010-03-28 3 views

Répondre

1

Vous devez faire une traversal pré-commande du binaire . arbre donc, si vous avez l'arbre:

 + 
    5  - 
     3 2 

vous voulez visiter +, 5, -, 3, 2, dans cet ordre, vous pouvez le faire récursive comme suit (en supposant que vos noeuds ont la valeur des champs. , gauche et droite):

public void preorder() { 
    if (leaf == null && right == null) 
     System.out.println(value); 
    else { 
     System.out.println("("); 
     System.out.println(value); 
     if(left != null) left.preorder(); 
     if(right != null) right.preorder(); 
     System.out.println(")"); 
    } 
    } 

Notez que vous visitez simplement le nœud actuel, puis l'enfant de gauche, puis l'enfant de droite.