【发布时间】:2013-12-03 20:47:10
【问题描述】:
public void addOccurence(String word) {
if (hm.containsKey(word)){
hm.put(word, hm.get(word)+1);
}
else {hm.put(word, 1); }
}
我知道平均put(k,v) 和get(v) 采取o(1),他们最坏的情况是o(n)。 containsKey(v) 呢?
以及如何确定诸如此类的东西的运行时间:
hm.put(word, hm.get(word)+1)
最坏情况下是o(n^2),平均情况下是o(1)吗?
【问题讨论】:
-
O(2*n) = O(n)。常数乘数对大 O 渐近线没有影响。 (另外,您不是说第一段中的“最坏情况”,而不是“单词情况”吗?)
-
选中此项以了解 java8+ stackoverflow.com/questions/8923251/…
标签: java hashmap runtime time-complexity