Par exemple, disons que vous avez 3 éléments. Lorsque vous insérez, le premier élément que vous insérez sera pris comme racine, puis l'élément suivant (qu'il soit inférieur ou supérieur) sera placé en conséquence à gauche ou à droite. La traversée de pré-commande signifie qu'il va d'abord visiter la racine, puis récursivement l'enfant de gauche, puis récursivement le bon enfant. Donc, après la pré-commande affichera la racine, l'élément le plus petit, puis l'élément plus grand. Maintenant, essayez d'insérer à nouveau ces 3 éléments. Vous recevrez le même arbre. (Le premier élément inséré sera la racine, puis l'élément plus petit ira de nouveau à gauche, et l'élément plus grand ira automatiquement à droite). Vous pouvez modéliser ceci avec 6 scénarios différents avec 3 éléments.
Scénario 1: Éléments à insérer = {1, 2, 3} root = 1, droit enfant = 2, le plus à droite = 3
Quand vous faites Précommande, 1 est visité en premier. Pas d'enfant à gauche donc 2 est visité ensuite. 2 n'a pas laissé d'enfant donc 3 est visité ensuite. (1, 2, 3)
Scénario 2: Éléments pour insérer = {2, 1, 3} root = 2, l'enfant gauche = 1, droit enfant = 3
Quand vous faites Précommande, 2 est visité en premier. A quitté l'enfant 1 donc c'est visité ensuite. Le bon enfant a 3 ans, donc c'est visité la prochaine fois. (2, 1, 3)
Scénario 3: Éléments à insérer = {3, 1, 2} root = 3, gauche enfant = 1, enfant droit de l'enfant à gauche (à hauteur de 1) = 2
Lorsque vous effectuez preOrder, 3 est visité en premier. L'enfant gauche est 1 donc c'est visité ensuite. Aucun enfant à gauche de 1, donc 3 est visité ensuite. (3, 1, 2)
Il existe 3 autres scénarios que vous pouvez écrire et vérifier par vous-même.
essayez ici http://cs.stackexchange.com/questions – NIMISHAN