Référentiel algorithme
Référentiel
Contenus Capacités attendues
Recherche textuelle
▪ Étudier l’algorithme de Boyer-Moore pour la recherche d’un motif dans un texte.
▪ L’intérêt du prétraitement du motif est mis en avant.
▪ L’étude du coût, difficile, ne peut être exigée.
Qu’est-ce que la recherche textuelle ? Les algorithmes qui permettent de trouver une sous-chaine de caractères dans une chaine de caractères plus grande sont des "grands classiques" de l'algorithmique. …afficher plus de contenu…
Le site http://www.gutenberg.org/browse/languages/fr propose les grands classiques de la littérature qui sont tombés dans le domaine public. On peut par exemple y trouver le texte intégral du roman Le rouge et le noir de Stendhal dans l’encodage UTF-8 : http://www.gutenberg.org/ebooks/798.txt.utf-8
On pourra alors charger en mémoire ce roman par ces quelques lignes :
Travail à effectuer
▪ Télécharger le roman "Le rouge et le noir" de Stendhal
▪ L’enregistrer dans le même dossier que votre programme sous "LeRougeEtLeNoir.txt"
▪ Faire une recherche du motif ‘Julien trembla’
▪ Afficher la phrase en entier dans la …afficher plus de contenu…
Travail à effectuer
▪ Refaire la recherche de ‘Julien Trembla’ dans "LeRougeEtLeNoir.txt" en utilisant la fonction find()
▪ Comparer les temps mis par les fonctions rechercheNaïve() Boyer-Moore() et find()
▪ En utilisant la fonction find(), écrire la fonction permettant d’obtenir le nombre d’occurrence d’un motif.
▪ Déterminer combien de fois apparaissent les prénoms ‘Julien’, Joséphine’, et les mots ‘amour’ et mort.
Complexité
La complexité d’un algorithme de recherche textuel se mesure essentiellement par le nombre d’opérations de comparaison de caractères qu’il effectue. L’analyse précise de la complexité de l’algorithme que nous