检查字符串是否在单词列表中的最有效方法
most efficient way to check if a string is within a wordlist
我需要最有效的方法来确定字符串是否在单词列表中(这是一个包含所有单词的文本文件)。
显然,我可以创建一个ofstream对象,并在每一行中循环,看看字符串是否存在。
有更快的方法吗?也许用地图?
感谢
要在多个单词的列表中找到一个特定的单词,我会使用std::unordered_set
,这是另一个名称的哈希表。
基本上:
- 将文件中的单词读入集合
- 选择一个"随机字母组合"
- 使用
find()
查看它是否在集合中 - 根据需要转到2
显然,如果你只想搜索一个单词,那么加载到一个集合中是没有意义的。只需读取文件并边检查边检查(因为平均而言,您只需要读取一半文件,这显然比读取整个文件快50%)
相关文章:
- 在C++中初始化向量映射的最有效方法
- 将此布尔值传递给此函数的最有效方法是什么?
- 比较C++变量的最有效方法
- 在 c++ 中解决段树以外的范围查询的有效方法是什么?
- 存储变量的更有效方法是什么?
- 确保套装新鲜度的有效方法
- 当映射包含字符串向量作为值时,从值中获取键的有效方法
- 映射唯一值和重复值的有效方法.可以访问键或值的位置
- 在C++事务之间存储大量字符数据的有效方法
- 在unordered_multimap中精确迭代一次每个键的有效方法
- 一种将 Dart 中的字节数据转换为 C++ 中的无符号字符*的有效方法?
- 检查两个向量是否并行的最有效方法
- 从浮点数中删除小数部分但保留类型的有效方法
- 传递非泛型函数的最有效方法是什么?
- 按升序打印矢量的所有元素直到它为空而没有重复项的最有效方法是什么?
- 创建字符串数组的有效方法
- 返回一个引用C++中另一个类对象的对象的有效方法
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- 从std::map值中获取密钥的有效方法