c – 快速字符串搜索?

我有一个字符串向量,必须检查向量中的每个元素是否存在于5000个单词的给定列表中.
除了两个嵌套循环的世俗方法之外,有没有更快的方法在C中执行此操作?

解决方法

您应该将字符串列表放入 std::set.这是一个针对搜索进行了优化的数据结构.查找给定元素是否在集合中是一种比迭代所有条目快得多的操作.

当您已经在使用C 11时,您也可以使用更快查找的std::unordered_set,因为它是作为哈希表实现的.

这应该是针对学校/大学的:准备解释这些数据结构如何变得更快.当你的导师要求你解释你使用它们的原因时,“互联网上的一些人告诉我”不太可能在课本上给你一个贴纸.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...