文本中多字匹配的算法

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)


Fry*_*Guy 5

建立了特里的你的话,然后用它来发现哪些词是在文本中.