【问题标题】:What is a C++ data structure that offers O(1) lookup? [duplicate]什么是提供 O(1) 查找的 C++ 数据结构? [复制]
【发布时间】:2012-02-23 13:49:52
【问题描述】:

可能重复:
Hashtable in C++?

我最初计划将 C++ 集用于提供 O(1) 查找的类似哈希的数据结构。

但是,我意识到在集合中查找的复杂度实际上是 O(logn):

http://www.cplusplus.com/reference/stl/set/find/

在 C++ 中是否有类似于哈希表的数据结构提供 O(1) 查找?

【问题讨论】:

  • 数组?还是太简单了数不过来?
  • 但是对于数组,我必须先知道我要处理的数据集有多大,对吧?
  • 根据问题的标题,我认为“数组”的答案是一个笑话。
  • 哦 :) 等等,我可以使用向量来实现散列 fxn 吗?

标签: c++ hash


【解决方案1】:

在 C++11 中有 unordered_set

如果您的编译器不提供 unordered_set,请查看 Boost

【讨论】:

【解决方案2】:

你能用vector吗?这比数组本身要好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    相关资源
    最近更新 更多