Junior — Middle
Dizinin ortasına bir öğe eklerken zaman maliyetini nasıl değerlendirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir dizinin ortasına bir öğe eklemek, ekleme konumundan sonra gelen tüm öğeleri kaydırmayı gerektirir, böylece yeni öğe için yer açılır. Bu işlemin zaman karmaşıklığı O(n)’dir, burada n kaydırılması gereken öğe sayısıdır. Örneğin, 1000 öğeden oluşan bir dizinin ortasına bir öğe eklersek, yaklaşık 500 öğe hareket ettirilmelidir, bu da performansı etkiler.
var array = [1, 2, 3, 4, 5]
array.insert(99, at: 2) // indeks 2 olan konuma ekleme
print(array) // [1, 2, 99, 3, 4, 5]
Bu örnekte, indeksleri 2 ve sonrası olan öğeler sağa kaydırılır, böylece yeni öğe için yer açılır.