Je veux implémenter un trie pour vérifier la validité des chemins, donc j'aurais un arbre construit qui contiendrait toutes les constructions de chemins possibles en le décomposant par répertoire. Donc, quelque chose comme /guest/friendsList/search
irait du nœud racine à son enfant guest
, puis l'enfant de l'invité friendsList
, puis l'enfant de l'ami de la liste search
. Si search est un nœud feuille, alors ma chaîne /guest/friendsList/search
sera considérée comme valide.Puis-je utiliser un trie qui a un mot entier sur chaque noeud?
Est-ce quelque chose pour lequel un trie serait utile. Toutes les implémentations d'essais que j'ai vu traitent des lettres individuelles à chaque nœud, mais peuvent-elles être des chaînes entières à la place? Est-ce que ce type d'implémentation est spécifique à ce type d'implémentation et qu'est-ce que j'essaie de faire juste un arbre de base?
Merci!
Avec des lettres individuelles, vous disposez d'un tableau de pointeurs enfants de taille fixe. Avec des chaînes arbitraires en tant qu'enfants, vous vous retrouvez avec des listes liées où chaque nœud a un lien vers un homologue et une liste chaînée d'enfants. C'est semblable à un trie, mais pas vraiment un trie. – user3386109
N'est-ce pas simplement ce que la plupart des gens appellent une arborescence de répertoires? – biziclop
@ user3386109 n'est pas une implémentation ennuyeuse? Je viens de mettre un hashmap dans chaque noeud – harold