Cela peut être très naïf, mais je me demandais, le contexte des arbres binaires (simples, triés et équilibrés), de tous les types de parcours:
- pré-commande en profondeur
- profondeur d'abord dans l'ordre
- profondeur après la commande
- largeur en premier
quelle est l'utilité réelle de celles pré et post-commande? Je veux dire, y a-t-il un type et / ou une configuration d'arbre binaire dans lequel la traversée pré et / ou post-ordre donnerait un (certains) avantage (s) par rapport aux deux autres?
AFAICS, il existe certains types et configurations d'arbres binaires pour lesquels l'ordre et la largeur en premier pourraient donner un certain avantage:
pour un arbre binaire équilibré, toute traversée en profondeur d'abord utilisera moins d'espace de stockage en mémoire que la largeur en premier (par exemple, pour un arbre binaire équilibré de 6 ou 7 nœuds, la hauteur est de 2, donc toute traversée en profondeur d'abord devra stocker un maximum de 2 nœuds à un moment donné, tandis que le dernier niveau a 3 ou 4 nœuds, la traversée en largeur doit donc stocker jusqu'à 3 ou 4 nœuds à un moment donné). Dans ce cas, l'utilisation de la traversée dans l'ordre utilise le moins de mémoire et visite les nœuds dans leur ordre naturel.
pour un arbre binaire non équilibré, s'il est proche du pire scénario d'insertion, le traverser en premier utiliserait moins de mémoire que n'importe lequel des parcours en profondeur. Dans ce cas, l'ampleur offre donc un avantage. La traversée dans l'ordre présente encore l'avantage de visiter les valeurs dans leur ordre naturel.
Cependant, je ne peux pas penser à une situation où la pré et la post-traversée donneraient un avantage sur les deux autres.