J'ai besoin d'algorithmes de traversée d'arbres pour des arbres arbitraires dans l'ordre de la traversée en profondeur d'abord et en largeur d'abord. La partie délicate est que je dois pouvoir commencer à partir d'un nœud arbitraire et continuer jusqu'à ce qu'un autre nœud spécifique soit parcouru.
Je peux utiliser n'importe quel algorithme ordinaire et ignorer les nœuds traversés jusqu'au nœud de départ et continuer jusqu'au nœud final (ce que je fais actuellement), mais c'est laid et inefficace.
Des suggestions, s'il vous plaît.
MISE À JOUR : Chacun de mes nœuds est associé à un identifiant. Dans certains cas, j'ai des références de nœuds de départ et d'arrivée pour commencer. Dans d'autres cas, on me donne deux identifiants, je vérifie si le noeud donné est le noeud de départ ou le noeud d'arrivée en inspectant leurs identifiants. J'utilise un parcours en profondeur pour trouver le nœud de départ. Les nœuds de départ et d'arrivée peuvent se trouver n'importe où dans la hiérarchie. J'espère que quelqu'un pourra trouver une idée pour le cas où l'on me donne déjà des références au nœud de départ et au nœud final. BTW, les nœuds de l'arbre sont en fait triés selon un ordre de tri qui commence à 0 pour chacun des sous-nœuds d'un nœud et il y a un nœud racine.