如何使用C++更有效地去除词尾

how to get rid of stopwords more effeciently using C++

本文关键字:有效地 何使用 C++      更新时间:2023-10-16

现在我有了一个stopword dict,需要处理单词列表。我如何才能有效地编码来提高效率?

我的代码是:使用vectorstopword将dict加载到内存中,然后迭代器单词列表,在stopword中查找if单词列表,如果不在,则将strcpy转换为newwordlist。

for(i=0;i<len;i++)
{  
   stopword.find(a[i])=stopword.end());
   strcpy(new_word,a[i]);
}  

但是这个代码需要2个循环?还有其他方法可以改善吗?使用hash而不是vertor?

您可以将停止字存储在名为Trie的结构中。它是一个基于前缀的树,使您能够一次逐个字符地搜索所有的停止语。

参见维基百科:http://en.wikipedia.org/wiki/Trie