Java Language Traverser une structure de données Tree avec récursivité


Exemple

Considérons la classe Node ayant 3 données membres, le pointeur enfant gauche et le pointeur enfant droit comme ci-dessous.

public class Node {
    public int data;
    public Node left;
    public Node right;
    
    public Node(int data){
        this.data = data;
    }
}

Nous pouvons parcourir l'arbre construit en connectant plusieurs objets de la classe Node comme ci-dessous, la traversée est appelée traversée d'ordre de l'arbre.

public static void inOrderTraversal(Node root) {
        if (root != null) {          
            inOrderTraversal(root.left); // traverse left sub tree
            System.out.print(root.data + " "); // traverse current node
            inOrderTraversal(root.right); // traverse right sub tree
        }
    }

Comme démontré ci-dessus, en utilisant la récursivité, nous pouvons traverser la structure de données de l'arborescence sans utiliser aucune autre structure de données qui n'est pas possible avec l'approche itérative .