Sobes.tech
Junior — Middle

Dinamik ArrayList-in başlanğıcına element əlavə etmə əməliyyatının vaxt mürəkkəbliyi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Dinamik massivə (məsələn, Java-da ArrayList) başlanğıca element əlavə etmək vaxt mürəkkəbliyi O(n)-dir, burada n massivdəki elementlərin sayı.

Bu, başlanğıca əlavə edərkən mövcud bütün elementlərin sağa doğru bir mövqe dəyişdirməsini tələb etdiyindən baş verir, bu da yeni element üçün yer açır. Elementlərin kopyalanması prosesi xətti vaxt alır.

Nümunə:

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

// Başlanğıca əlavə
list.add(0, 0); // bütün elementləri sağa doğru hərəkət etdirir

Beləliklə, sona əlavə etmək adətən daha sürətlidir (amortizasiya olunmuş O(1)), başlanğıca isə — O(n).