Sobes.tech
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.