如何使用C++更有效地去除词尾
how to get rid of stopwords more effeciently using C++
现在我有了一个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
相关文章:
- 有效地使用std::unordered_map来插入或增加键的值
- 如何在使用 cin 请求 int 时有效地使用户输入万无一失?
- 如何使用包含内部类的类实例有效地从内部类访问成员?
- 是否必须使用无限循环来有效地重用协程句柄?
- 如何避免使用 goto 并有效地中断嵌套循环
- 如何有效地使用 std::async 对指针数组执行操作
- 如何使用C++有效地合并排序与向量
- 为什么优先级队列是使用堆实现的,而我们可以更有效地使用向量来实现它
- 如何使用 stl 容器有效地存储对象?(即根据其字段的值进行搜索)
- 使用OOP有效地处理和读取轨迹文件
- 有效地在小环上使用OpenMP,并具有非常大的嵌套回路
- 为什么 std::unordered_map 很慢,我可以更有效地使用它来缓解这种情况吗?
- 如何在处理传统C字符串的C样式函数中有效地使用std::string
- 如何有效地计算在整个像素着色器阶段中使用颜色的次数
- 如何使用SSE有效地执行INT8/INT64转换
- 如何在C 中更有效地使用
- 如何有效地使用C++11随机生成器
- 如何使用OpenGL中的框选择有效地选择对象
- 有没有办法有效地将 rapidjson 与 std::string 一起使用?
- 仅使用顶点着色器有效地渲染