有很多的鏈接,告訴我,大O的一個HashMap是:爲什麼迭代HashMap O(c/n)?
get O(1)
add O(1)
contains O(1)
next item O(c/n) c = table capacity (number of buckets) n = size
這是還挺顯而易見的,爲什麼得到/添加/包含的O(1),但我想知道爲什麼迭代是O(c/n)。
雖然我在的話,我很想知道爲什麼大O的是,他們是什麼樣的ConcurrentHashMap,TreeMap的等
任何人有一個很好的鏈接?
O(c/n)的源代碼是什麼?我從來沒有見過這樣的BigO。迭代(遍歷整個集合)總是O(n)。 – zam664 2013-03-26 20:28:22
來源:http://www.coderfriendly.com/wp-content/uploads/2009/05/java_collections_v2.pdf – 2013-03-26 20:31:21
鏈接的文件*不*說迭代是'O(h/n)'。它說*「下一個條目」*是'O(h/n)'。迭代是每個* n的「下一個條目」*。 – 2013-03-26 20:43:08