Étant donné une chaîne s
, quelle est la méthode la plus rapide pour générer un ensemble de toutes ses sous-chaînes uniques?
Exemple: pour str = "aba"
nous obtiendrions substrs={"a", "b", "ab", "ba", "aba"}
.
L'algorithme naïf serait de parcourir la chaîne entière générant des sous-chaînes de longueur 1..n
à chaque itération, donnant une limite supérieure de O(n^2)
.
Une meilleure limite est-elle possible?
(il s'agit techniquement de devoirs, donc seuls les pointeurs sont les bienvenus)