Plus longue sous-chaîne répétée

En informatique, le problème de la plus longue sous-chaîne répétée est le problème de recherche de la plus longue sous-chaîne d'une chaîne qui y apparaît au moins deux fois.

L'arbre des suffixes de ATCGATCGA$

Par exemple, la plus longue sous-chaîne dans « GEEKSFORGEEKS » est « GEEKS », dans « AAAA » est « AAA », dans « ATCGATCGA » est « ATCGA ». Le problème peut être résolu en temps linéaire et en espace par la construction d'un arbre des suffixes de la chaîne. On cherche le nœud interne le plus profond interne dans l'arbre qui a au moins deux feuilles parmi ses descendants. La profondeur est mesurée par le nombre de caractères traversées à partir de la racine. La chaîne qui étiquette les arcs de la racine à un tel nœud est une plus longue sous-chaîne répétée.

Dans la figure ci-contre, l'arbre des suffixes de la chaîne « ATCGATCGA$ ». La plus longue sous-chaîne répétée au moins deux fois est « ATCGA ». Dans l'arbre, le nœud le plus profond (tous ont deux feuilles parmi leurs descendants) est celui portant le numéro 2. Sa profondeur est 5, longueur de la chaîne « ATCGA ».

Notes et références modifier

Articles connexes modifier