【发布时间】:2014-08-01 01:00:36
【问题描述】:
我发现了很多关于map 和unordered_map 复杂性的帖子。据说unordered_map 的最坏情况复杂度为O(N)。出于我的目的,我将输入作为排序值,如1 2 5 6 9 11 12..。我需要插入或查找并删除一个值。我将不得不经常进行插入/删除。我想过使用set,它在所有情况下都具有 log(n) 复杂性。然后我偶然发现了具有最佳 O(1) 复杂度的 unordered_map。但是我需要了解在我的场景中我会面临 unordered_map 的最坏情况吗?会是怎样的情景?
编辑:在我的情况下,所有值都是唯一的。
【问题讨论】:
-
你有输入的整数范围吗?
-
是的,最多 2^29。
-
数据结构没有时间复杂度,算法有。
-
您可能会发现this link 很有趣 - 它讨论了由创建将触发哈希表中最坏情况行为的输入键引起的拒绝服务攻击。
标签: c++ map time-complexity unordered-map space-complexity