Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| tc_info:2023-tp-texte [2023/12/05 09:37] – edauce | tc_info:2023-tp-texte [2024/12/03 23:53] (Version actuelle) – edauce | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ==== Arbre lexicographique ==== | ||
| + | Un algorithme de complétion est un mécanisme logique permettant d' | ||
| + | |||
| + | On utilise pour cela une structure de données arborescente, | ||
| + | |||
| + | Le but de cet exercice est de construire un arbre lexicographique à partir de mots de vocabulaire, | ||
| + | |||
| + | Vous devez implémenter un arbre lexicographique en Java pour gérer une base de mots et répondre à différentes requêtes, telles que l' | ||
| + | |||
| + | <note tip> | ||
| + | V = {art, arbre, des, dessin} | ||
| + | |||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | === 1. Définition des Classes === | ||
| + | |||
| + | a. Définissez une classe '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | |||
| + | b. Définissez une classe '' | ||
| + | - '' | ||
| + | - '' | ||
| + | |||
| + | c. Pour initialiser un arbre lexicographique, | ||
| + | |||
| + | === 2. Fonction d' | ||
| + | |||
| + | Écrivez une méthode '' | ||
| + | * La fonction est récursive | ||
| + | * Elle prend comme argument une chaîne de caractères | ||
| + | |||
| + | <note tip> | ||
| + | * **Cas terminal** : | ||
| + | Si le mot est vide, cela signifie que tous les caractères du mot ont été insérés. Dans ce cas, on met à jour l' | ||
| + | |||
| + | * **Cas Récursif** : | ||
| + | On prend le premier caractère du mot (la première lettre) et on cherche une arête dans le nœud actuel qui a ce caractère. | ||
| + | * S'il existe une telle arête, on appelle récursivement '' | ||
| + | * Si l' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | **Extraire le Premier Caractère :** | ||
| + | Utilisez la méthode '' | ||
| + | |||
| + | Exemple : | ||
| + | <code java> | ||
| + | String mot = " | ||
| + | char premierCaractere = mot.charAt(0); | ||
| + | </ | ||
| + | |||
| + | **Obtenir la Chaîne Initiale Privée du Premier Caractère :** | ||
| + | Utilisez la méthode '' | ||
| + | |||
| + | Exemple | ||
| + | <code java> | ||
| + | String mot = " | ||
| + | String resteDuMot = mot.substring(1); | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | === 3. Fonction d' | ||
| + | |||
| + | 3.1 Écrivez une méthode '' | ||
| + | * Elle doit parcourir l' | ||
| + | * Elle doit afficher chaque mot complet trouvé ainsi que son compteur. | ||
| + | |||
| + | 3.2 Tests | ||
| + | |||
| + | a. Créez un arbre de complétion vide. | ||
| + | |||
| + | b. Insérez les mots ''" | ||
| + | |||
| + | c. Affichez l' | ||
| + | |||
| + | <note tip> **Concaténation** | ||
| + | |||
| + | Vous pouvez créer une nouvelle chaîne qui combine le contenu de l' | ||
| + | <code java> | ||
| + | String maChaine = " | ||
| + | char nouveauCaractere = ' | ||
| + | maChaine = maChaine + nouveauCaractere; | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 4. Fonction d' | ||
| + | |||
| + | a. Écrivez une méthode '' | ||
| + | * Vous pouvez au choix utiliser une approche itérative ou récursive pour parcourir l' | ||
| + | * La fonction doit retourner '' | ||
| + | |||
| + | b. Testez la fonction '' | ||
| + | |||
| + | < | ||
| + | |||
| + | La méthode '' | ||
| + | <code java> | ||
| + | String maChaine = " | ||
| + | char[] tableauDeCaracteres = maChaine.toCharArray(); | ||
| + | </ | ||
| + | ce qui peut être utile lorsque l'on veut examiner les caractères d'une chaîne de caractères un à un. | ||
| + | |||
| + | exemple: | ||
| + | <code java> | ||
| + | for (char c : maChaine.toCharArray()) { | ||
| + | ... | ||
| + | } | ||
| + | </ | ||
| + | est une boucle permettant de parcourir un à un tous les caractères d'une chaîne. | ||
| + | </ | ||
| + | |||
| + | |||
| + | === 5. Fonction de Suggestion === | ||
| + | |||
| + | a. Écrivez une méthode '' | ||
| + | * Elle doit utiliser une approche itérative de parcours de l' | ||
| + | * Elle doit faire appel à la fonction d' | ||
| + | |||
| + | b. Testez la fonction '' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | --- | ||