Enr*_*oma 15 algorithm search text
我有一大堆单词(大约10,000),我需要找到这些单词中是否出现任何单词.
有没有比对文本块中的每个单词进行简单文本搜索更快的算法?
use*_*033 17
将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
Run Code Online (Sandbox Code Playgroud)