unordered_set<int> find 方法的时间复杂度

nav*_*ian 12 stl time-complexity unordered-set c++11

find方法的时间复杂度是多少unordered_set<int>

还可以更改哈希函数吗?

Vit*_*meo 7

unordered_set中find方法的时间复杂度是多少?

...它就在您链接的页面中:

复杂性

平均情况:恒定。

最坏的情况:与容器尺寸成线性关系。


还可以更改哈希函数吗?

是的。再次,查看文档

std::unordered_map接受一个Hash模板参数。这是一个自定义点,您可以在其中注入自己的哈希逻辑。习惯Hash必须满足Hash概念。

  • 搜索的复杂性与密钥散列的复杂性无关。虽然“std::hash&lt;int&gt;{}( 2 )”可能返回整数本身,但容器仍然必须探测该整数键并将其与容器中包含的值进行比较。我不知道你期望什么样的魔法,但如果你有研究表明所有情况都是 O(1)(例如,密钥在存储中永远不会发生冲突),那么请分享它 (2认同)