所以我的數據結構類覆蓋了時間複雜度,我只是對arraylist和treemap的性能提出了一個簡短的問題。關於Big(O)性能的問題
爲ArrayList的get方法是O(1)和用於TreeMap的GET方法是O(log n)的現在
,如果我提出一個循環,通過整個列表或樹如
迭代for (int i = 0; i < blahblah.size(); i++)
{
blah blah
}
對於數組列表,這個循環的性能是o(1)還是o(n)?我意識到,當你檢索1個項目時,性能是O(1),但是這個循環遍歷整個列表,所以它不會是1 * n個項目,這將使它成爲n?
與樹形圖相同的東西,它會是o(log n)或n log n,因爲你要經歷整個樹。
1)它是大O不大哦,2)你應該用「算法」,「複雜性」而不是「java」來標記這樣的問題,因爲這不是語言特定的 – quasiverse 2011-03-05 03:15:00
@quasi固定''' – Earlz 2011-03-05 03:15:24
你的循環將會是O(n),因爲它會隨着元素的數量線性縮放。 n的倍數,你將有兩倍的迭代次數。 – seand 2011-03-05 03:27:37