- ''noeud'' : un objet de type ''Noeud'' représentant le nœud suivant.
- ''noeud'' : un objet de type ''Noeud'' représentant le nœud suivant.
-
c. POur initialiser un arbre de complétion, créer un nœud vide dont le ''compteur'' vaut 0 et dont la liste des arêtes est une liste (''ArrayList'') vide.
+
c. Pour initialiser un arbre de complétion, créer un nœud vide dont le ''compteur'' vaut 0 et dont la liste des arêtes est une liste (''ArrayList'') vide.
=== 2. Fonction d'Insertion ===
=== 2. Fonction d'Insertion ===
-
Écrivez une méthode ''insererMot'' dans la classe ''ArbreDeCompletion'' pour insérer un mot dans l'arbre de complétion.
+
Écrivez une méthode ''insererMot'' dans la classe ''Noeud'' pour insérer un mot dans l'arbre de complétion.
* La fonction est récursive
* La fonction est récursive
* Elle prend comme argument une chaîne de caractères
* Elle prend comme argument une chaîne de caractères
Ligne 66:
Ligne 66:
=== 3. Fonction d'Affichage ===
=== 3. Fonction d'Affichage ===
-
Écrivez une méthode ''affiche'' dans la classe ''ArbreDeCompletion'' pour afficher la totalité de l'arbre de complétion. La fonction doit respecter les conditions suivantes :
+
Écrivez une méthode ''affiche'' dans la classe ''Noeud'' pour afficher la totalité de l'arbre de complétion. La fonction doit respecter les conditions suivantes :
-
+
* Elle doit parcourir l'arbre de manière récursive.
-
* Elle doit parcourir l'arbre de manière récursive.
+
* Elle doit afficher chaque mot complet trouvé ainsi que son compteur.
-
* Elle doit afficher chaque mot complet trouvé ainsi que son compteur.
+
=== 4. Fonction d'Appartenance ===
=== 4. Fonction d'Appartenance ===
-
a. Écrivez une méthode ''appartient'' dans la classe ''ArbreDeCompletion'' qui retourne ''true'' si le mot est présent dans l'arbre de complétion et ''false'' sinon. La fonction doit respecter les conditions suivantes :
+
a. Écrivez une méthode ''appartient'' dans la classe ''Noeud'' qui retourne ''true'' si le mot est présent dans l'arbre de complétion et ''false'' sinon. La fonction doit respecter les conditions suivantes :
-
+
* Vous pouvez au choix utiliser une approche itérative ou récursive pour parcourir l'arbre.
-
* Vous pouvez au choix utiliser une approche itérative ou récursive pour parcourir l'arbre.
+
* La fonction doit retourner ''true'' uniquement si le mot complet est présent dans l'arbre (c'est à dire si la lecture de la dernière lettre conduit à un noeud terminal).
-
* La fonction doit retourner ''true'' uniquement si le mot complet est présent dans l'arbre (c'est à dire si la lecture de la dernière lettre conduit à un noeud terminal).
+
=== 5. Fonction de Suggestion ===
=== 5. Fonction de Suggestion ===
-
Écrivez une méthode ''suivant'' dans la classe ''ArbreDeCompletion'' pour retourner une liste de mots complets à partir d'un préfixe donné. La fonction doit respecter les conditions suivantes :
+
Écrivez une méthode ''suivant'' dans la classe ''Noeud'' pour retourner une liste de mots complets à partir d'un préfixe donné. La fonction doit respecter les conditions suivantes :
* Elle doit utiliser une approche itérative de parcours de l'arbre jusqu'au nœud correspondant au préfixe.
* Elle doit utiliser une approche itérative de parcours de l'arbre jusqu'au nœud correspondant au préfixe.
* Elle doit faire appel à la fonction d'affichage du noeud atteint pour afficher l'ensemble des noeuds suivants
* Elle doit faire appel à la fonction d'affichage du noeud atteint pour afficher l'ensemble des noeuds suivants