J'ai deux très grandes chaînes et j'essaie de trouver leur Longest Common Substring.Comment accélérer le calcul de la longueur de la plus longue sous-chaîne commune?
Une façon utilise arbres suffixe (censé avoir une très bonne complexité, bien qu'une mise en œuvre complexe), et l'autre est la méthode de programmation dynamique (les deux sont mentionnés sur la page Wikipedia lien ci-dessus).
en utilisant la programmation dynamique
Le problème est que la méthode de programmation dynamique a un énorme temps de fonctionnement (complexité est O(n*m)
, où n
et m
sont des longueurs des deux cordes). Ce que je veux savoir (avant de sauter pour implémenter des arborescences de suffixes): Est-il possible d'accélérer l'algorithme si je veux seulement connaître la longueur de la sous-chaîne commune (et non la sous-chaîne commune elle-même)?
@Billy ONeal: comparez-vous le suffixe et la programmation dynamique? Je ne demande pas ça.'Ce que je dois savoir, c'est qu'il y a un moyen de rendre l'algorithme de programmation dynamique plus rapide si je veux seulement connaître la longueur de la sous-chaîne commune?' – Lazer
@eSKay: Je crois que la première partie de ma réponse répond à cette question. –
ok, * comment puis-je le rendre plus rapide en pratique? – Lazer