【发布时间】:2013-03-26 20:16:46
【问题描述】:
有很多链接告诉我哈希图的大 O 是:
get O(1)
add O(1)
contains O(1)
next item O(c / n) c = table capacity (number of buckets) n = size
get/add/contains 为什么是 O(1) 有点明显,但我想知道为什么迭代是 O(c/n)。
当我在做的时候,我很想知道为什么大 O 是 ConcurrentHashmap、TreeMap 等的。
谁有好的链接?
【问题讨论】:
-
O(c/n) 的来源是什么?我从来没有见过这样的BigO。迭代(遍历整个集合)总是 O(n)。
-
链接的论文没有说迭代是
O(h/n)。它说“下一个条目” 是O(h/n)。迭代是“下一个条目”对于每个 n. -
@pst 我将编辑问题。对不起。但是谁能解释为什么?
标签: performance hashmap