2009-05-28 9 views
0

Je cherche un outil qui trouve des noeuds en double dans une structure de données arborescente (en utilisant Freemind pour mapper la structure de données, mais je me contenterai de tout ce que je peux exporter une arborescence générique ...)Existe-t-il des outils pour trouver des sections dupliquées dans une structure de données arborescente?

L'idée est que je peux décomposer l'arbre en modules que je peux répéter en simplifiant ainsi la structure de l'arbre.

Répondre

1

Je voudrais juste avoir une table de sous-arbres.

Marchez la profondeur de l'arbre en premier. À chaque nœud, après avoir visité des sous-nœuds, s'il existe un nœud équivalent dans la table, remplacez le nœud actuel par celui de la table. S'il n'y a pas de nœud équivalent dans la table, ajoutez le nœud actuel à la table.

Est-ce que ça marche? Je crois que c'est ce qu'on appelle commun-sous-expression-élimination.

+0

Ça sonne bien, et merci pour le nom technique, ça va faciliter la recherche. :) – leeand00

+0

En tant que développeur web, il semble que je le fais toujours ... – leeand00

+0

@ leeand00: Bonne chance. Si vous avez besoin d'un échantillon (pseudo), je peux en créer. –

0

Ne serait-il pas préférable d'éviter les nœuds en double dans un arbre? Pourquoi avez-vous besoin de nœuds en double dans un arbre?

+0

Oui, ce serait beaucoup mieux. Mais ce n'est pas un luxe que j'ai sur mon travail. Je n'ai pas écrit les choses, quelqu'un d'autre a fait. J'essaye de "nettoyer après eux" pour ainsi dire. – leeand00

Questions connexes