微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 快速字符串搜索?

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

解决方法

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

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

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

原文地址:https://www.jb51.cc/c/115974.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐