Vous êtes sur la page 1sur 2

USTHB - Faculté d’Informatique – Département IA & SD -2023-2024

Module : BIOALGO – Master1 : BioInformatique

Série N°1
Algorithmique du texte : préfixe, suffixe, facteur, …
Exercice 1
1. Quels sont les facteurs de taille 3 du mot aaatatttaa ?
2. Quels sont tous les suffixes et les préfixes du mot tattatattat
3. Donnez tous les bords du mot tattatattat
4. Trouvez toutes les périodes du mot tattatattat
5. Donnez tous les facteurs uniques du mot gatgattgag
6. Donnez les plus courts facteurs uniques du mot gatgattgag
7. Donnez toutes les répétitions de taille 2 puis de taille 3 du mot gatgattgag

Exercice 2 : Soit S une chaîne de caractères. Un préfixe non vide de S est un mot formé des i
premiers caractères de S, avec i = {0,1, …, longeur(S)-1}. Par exemple, si S = aababa, alors les
préfixes de S sont les mots {a, aa, aab, aaba, aabab, aababa}.
1. Ecrire une procédure qui crée une table de tous les préfixes non vides d'un mot donné S ;
2. Ecrire une fonction chaine PluLongPref (chaine S1, chaine S2) qui retourne le plus long
préfixe commun à deux chaînes de caractères données S1 et S2.
Exemple : Pour S1= aababba et S2= aabaaaabbaa la fonction retourne la chaîne aaba.
3. En utilisant les actions précédentes, écrire le programme qui affiche le plus long préfixe
commun à deux chaines de caractères données.

Exercice 3 :
1. Ecrire une fonction qui construit la table des suffixes d’une chaine S. Un suffixe non vide de S
est un mot formé des i derniers caractères de S, avec i = {longueur(S)-1, …,1,0}.
2. Quelle est la complexité spatiale et temporelle de votre solution ?

Exercice 4
Un mot sur un alphabet Σ est représenté par un tableau tel qu’en position i on trouve la i-ème
lettre (une lettre est un élément de Σ) du mot.
Par exemple, sur l’alphabet Σ = {A, C, G, T}, S1 = [C, A, A, T, G, C] et S2 = [A, G, A, T, T, C] sont
deux mots.
1. Un facteur est une sous-séquence de lettres consécutives du mot. Le plus long
facteur commun de S1 et S2 est [A, T]. (facteur = sous-mot)
a. Ecrire la fonction PLFC (solution naïve) qui retourne un plus long facteur
commun à deux mots. Donnez sa complexité.
b. Donner une solution en utilisant la table des suffixes. Quelle est sa complexité ?

1
USTHB - Faculté d’Informatique – Département IA & SD -2023-2024
Module : BIOALGO – Master1 : BioInformatique

2. La plus longue sous-séquence commune de deux mots u et v est le plus long mot qui
est une sous-séquence (les lettres ne sont pas nécessairement contigües) de u et de
v. La plus longue sous-séquence commune de S1 et S2 est [A, A, T, C].
a. Ecrire la fonction qui retourne une plus longue sous-séquence commune à deux
mots. Donnez sa complexité.

Vous aimerez peut-être aussi