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.