2010-06-06 9 views
0

je l'ai remarqué qu'il a des solutions pour faire correspondre plusieurs mots dans un texte donné, comme ci-dessous: Algorithm for multiple word matching in textalgorithme pour faire correspondre plusieurs mots dans un texte, compter le nombre de chaque mot correspondant à

Si je veux savoir exactement le nombre d'apparences de chaque mot apparié dans le texte, ma solution est comme ceci:

étape 1: en utilisant l'algorithme AC pour obtenir les mots d'usinage;

étape 2: compter le nombre de chaque mot obtenu à l'étape 1

est-il un moyen plus rapide?

Thx ~

Répondre

0
  1. Mettez les mots que vous voulez rechercher dans une table de hachage, avec les mots les clés et les valeurs initialisées à 0.
  2. itérer sur les mots du texte, en vérifiant à chaque fois pour voir si le mot est une clé dans la table de hachage, si c'est le cas, incrémenter la valeur de cette clé.
  3. Effectuez une itération sur la table de hachage en recherchant les valeurs non nulles, les clés de ces mots correspondent à vos mots correspondants, les valeurs sont les chiffres.

Se exécute en O (N + M) où N est le nombre de mots que vous recherchez pour et M est le nombre de mots que vous cherchez par.