Entrée:algorithme efficace pour trouver un ensemble de correspondances dans un court texte
- Un texte relativement court (100-1000 caractères, le plus souvent).
- Une liste fixe d'environ 5000 expressions données à l'avance, la plupart d'entre elles ayant entre 10 et 20 caractères, certaines d'entre elles en contenant d'autres en tant que sous-expressions (par exemple "Try" et "Try Again").
Remarque - Seuls les premiers changements d'entrée, la seconde est considérée comme une constante, et est disponible pour pré-traitement.
sortie souhaitée:
Identifier tous les matchs des expressions de l'article 2 à l'intérieur du texte. S'il y a des ambiguïtés de correspondance, prenez le match glouton si possible.
Le temps d'exécution devrait être relativement rapide, mais aucune exigence de performance stricte. Une tentative de force brute pourrait suffire ici.
Qu'est-ce qu'un bon algorithme pour cela? Les arbres de suffixe sont-ils utiles ici? Que diriez-vous de passer en revue toutes les expressions et de les mettre dans une table de hachage? Notez également que je suis intéressé par solutions pratiques, donc la facilité de mise en œuvre peut être plus utile qu'un algorithme super efficace ...