文本中多个单词匹配的算法
我有很多单词(大约10,000个),我需要确定这些单词中是否有一个出现在给定的文本块中。
是否有比在文本块中对每个单词进行简单文本搜索更快的算法?
回答:
将10,000个单词输入到哈希表中,然后检查文本块中的每个单词(如果其哈希值都有条目)。
尽管我不知道,但是更快,只是另一种方法(取决于您搜索的单词数)。
简单的perl示例:
my $word_block = "the guy went afk after being popped by a brownrabbit";my %hash = ();
my @words = split /\s/, $word_block;
while(<DATA>) { chomp; $hash{$_} = 1; }
foreach $word (@words)
{
print "found word: $word\n" if exists $hash{$word};
}
__DATA__
afk
lol
brownrabbit
popped
garbage
trash
sitdown
以上是 文本中多个单词匹配的算法 的全部内容, 来源链接: utcz.com/qa/406666.html