我有一大堆单词(约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