informatique (MP2I/MPI) · Chapitre 18 · Exercice de TD
Facteur, sous-mot, préfixe : compter
Algorithmique des textes · niveau 2
Énoncé
Pour le mot , dénombrer les préfixes non vides, les suffixes non vides, les facteurs distincts et les sous-mots distincts. Comparer aux bornes , et . Que donne ?
Corrigé
Pour , de longueur :
- préfixes non vides : — il y en a toujours exactement , un par longueur ;
- suffixes non vides : — également ;
- facteurs distincts : — 7, alors que la borne compte les positions ; trois coïncidences (, et apparaissent deux fois) les font tomber à ;
- sous-mots distincts : — 11, contre une borne .
Pour , les deux comptes s'effondrent à : les seuls facteurs sont , et ce sont aussi les seuls sous-mots. Un mot sur un alphabet à une lettre n'a qu'une information : sa longueur.
Ce que l'exercice fixe. Les deux notions ne se recoupent que par accident. est un sous-mot de — on garde , , — mais n'en est pas un facteur, puisqu'il n'y a nulle part deux consécutifs. C'est exactement la distinction annoncée par le chapitre, et elle décide de tout ce qui suit : la recherche de motif porte sur les facteurs (Boyer-Moore, Rabin-Karp), la plus longue sous-suite commune du chapitre chap:dynamique porte sur les sous-mots. Les algorithmes n'ont rien à voir, et les complexités non plus : en moyenne d'un côté, de l'autre.