J'ai implémenté un arbre de préfixe de base ou "trie". Le trie consiste en des noeuds comme celui-ci :
// pseudo-code
struct node {
char c;
collection<node> childnodes;
};
Supposons que j'ajoute les mots suivants à mon tableau : "Apple", "Ark" et "Cat". Maintenant, lorsque je cherche des préfixes comme "Ap" et "Ca", la méthode "bool containsPrefix(string prefix)" de ma trie renvoie correctement true.
J'implémente maintenant la méthode "bool containsWholeWord(string word)" qui renverra true pour "Cat" et "Ark" mais false pour "App" (dans l'exemple ci-dessus).
Est-il courant que les nœuds d'un tableau aient une sorte d'indicateur "endOfWord" ? Cela aiderait à déterminer si la chaîne de caractères recherchée était en fait un mot entier entré dans le tableau et pas seulement un préfixe.
A la vôtre !