Junior — Middle
Massivdə elementlərin əlavə edilməsi, axtarışı, oxunması və silinməsi əməliyyatlarının ən pis və orta hallarda vaxt nəticəsi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-də standart massiv üçün (məsələn, NSArray və ya NSMutableArray) əməliyyatların müvəqqəti xüsusiyyətləri təxminən aşağıdakı kimidir:
-
Əlavə:
- Array-in sonuna əlavə etmək (append): orta və ən pis hal — O(1) amortizasiya olunmuş (əgər yaddaşın yenidən bölüşdürülməsi tələb olunmursa).
- Başlanğıca və ya ortasına: O(n), çünki elementləri hərəkət etdirmək lazımdır.
-
Axtarış (əgər indekslə): O(1), çünki array indeksləşdirilib.
-
İndeksə görə oxuma: O(1).
-
Silmə:
- Array-in sonundan: O(1).
- Başlanğıc və ya ortasından: O(n), elementlərin hərəkətindən dolayı.
Buna görə, array-in ortasında və ya başlanğıcında əlavə və silmə əməliyyatları xətti mürəkkəbliyə malikdir, erişim və array-in sonunda əlavə/silme isə sabit (amortizasiya olunmuş) vaxt alır.