Yinelediğim bir dizi listesi var. Her yineleme ben bir elementi elde etmek get()
diyoruz ve bu madde bazı koşul geçerse, ben zaman karmaşıklığı burada ne olduğundan emin değilim add()
zaman karmaşıklığı
List<Item> items = new ArrayList<Item>();
List<Item> lessItems = new ArrayList<Item>();
for(int index = 0; index < items.size(); index++){
Item toCheck = items.get(i);
if(toCheck meets some condition){
lessItems.add(toCheck);
}
}
kullanarak yeni dizi listesine eklenir. Tüm öğeler için get() öğesini çağırıyorum, yani O (n). Daha sonra, potansiyel olarak tüm öğeler üzerinde add() öğesini çağırıyorum, böylece başka bir O (n) var. Bu konuda fazla emin değilim.
O (n) + O (n), O (2n) 'dir, ve 2'yi (girişe göre sabit olduğu için) düşürebilir ve O (n) olduğunu söyleyebiliriz. –
@ElliottFrisch bu doğru değil. java'daki arraylistlerin son elemanına yerleştirme “O (n)” değildir. Lütfen cevabımı gör. – hqt
@ElliottFrisch görünüşte diğerleri sizinle aynı fikirde değil. Cevabımı düşürmek için yeterli, ki seninkiyle aynı. –