Junior — Middle
Massivdan elementni o'chirish operatsiyasining vaqt murakkabligi qanday?
sobes.tech AI
AIdan javob
Elementni o'chirish vaqt murakkabligi element joylashgan joy va massiv qanday amalga oshirilganiga bog'liq.
-
Agar indeks bo'yicha elementni o'chirish kerak bo'lsa, dinamik massivda (masalan, Dart/Flutter'dagi List) o'chirishdan so'ng, barcha keyingi elementlar siljib, bo'sh joy to'ldiriladi. Bu vaqt murakkabligi O(n) ga olib keladi, bu yerda n — o'chirilgan elementdan keyingi elementlar soni.
-
Agar oxirgi element o'chirilsa, operatsiya O(1) da amalga oshiriladi, chunki siljish talab qilinmaydi.
Dart misoli:
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // indeks 2 dagi elementni (raqam 3) o'chiradi
// o'chirishdan so'ng, indekslari 3 va 4 bo'lgan elementlar chapga siljiydi
Shunday qilib, umuman olganda, massivdan elementni o'chirish O(n) vaqt murakkabligiga ega operatsiya hisoblanadi.