Sobes.tech
Junior — Middle

Bir massivdən elementin silinməsi əməliyyatının vaxt mürəkkəbliyi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Bir array-dən elementin silinməsinin vaxt mürəkkəbliyi, elementin yerləşdiyi yerə və array-in necə tətbiq olunduğuna bağlıdır.

  • Əgər indeksə görə element silmək lazımdırsa, dinamik array-də (məsələn, Dart/Flutter-də List) silindikdən sonra bütün sonrakı elementlər sürüşür və boş yer doldurulur. Bu, O(n) vaxt mürəkkəbliyinə gətirib çıxarır, burada n silinən elementdən sonra olan elementlərin sayıdı.

  • Əgər sonuncu element silinərsə, əməliyyat O(1) vaxtında həyata keçirilir, çünki sürüşmə tələb olunmur.

Dart nümunəsi:

List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeAt(2); // indeks 2-dəki elementi (rəqəm 3) silir
// silindikdən sonra indeksləri 3 və 4 olan elementlər sola sürüşür

Ümumiyyətlə, array-dən elementin silinməsi, vaxt mürəkkəbliyi O(n) olan əməliyyatdır.