Comment puis-je effectuer une itération sur Arbre Binaire?

Droit maintenant, j'ai

 private static void iterateall(BinaryTree foo) {
    if(foo!= null){
    System.out.println(foo.node);
    iterateall(foo.left);
    iterateall(foo.right);
   }
  }

Pouvez-vous changer à l'Itération au lieu d'une récursivité?

Je suis à la maison, mais ce n'est pas lié à mon travail.
J'ai voté le commentaire précédent, parce qu'il est plein de GAGNER 🙂
Votre DFS w/o d'une pile est complètement rompu. Vous la pile (ou, alternativement, une file d'attente, mais c'est ignorer que, pour l'instant), il n'y a pas moyen de contourner cela.
Il supprimé. Merci pour le tuyau.
La plupart des gens utilisent un arbre binaire de faire efficacement le tri par insertion. Sinon, ils utilisent une collection. Pour imprimer dans l'ordre de tri, vous devez effectuer une itération à gauche, imprimer le nœud, puis itérer droit.

OriginalL'auteur unj2 | 2010-05-31