Birisi bana aşağıdaki kodun zaman karmaşıklığını söyleyebilir mi?Java'da ayarlanan zaman karmaşıklığı
a
int.
Set<Integer> set = new HashSet<Integer>();
for (int i = 0; i < a.length; i++) {
if (set.contains(arr[i])) {
System.out.println("Hello");
}
set.add(arr[i]);
}
Ben O (n) olduğunu düşünüyorum, ama bu Set
kullanıyor beri emin değilim ve bu yanı yöntemlerini içerir. Ayrıca set
'un add
yöntemini çağırıyor.
Yukarıdaki kodun zaman karmaşıklığının ne olduğunu herkes onaylayabilir ve açıklayabilir mi? Ayrıca, ne kadar yer alır?
Tamsayı durumunda alan karmaşıklığı 2n nasıldır? Anlamadım. Kısaca açıklayabilir misin? – anon
Bu ilginç. Başlangıçta zaman karmaşıklığının O (a.len) * O (arr.len) yani O (n^2) olacağını düşündüm. HashSet'in gerçekten faydalı olduğunu bilmek güzel. –