Junior — Middle
Məlumatlar toplusunun əvvəlinə element əlavə etmə əməliyyatının vaxt mürəkkəbliyi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Məlumatlar toplusuna elementin başlanğıcına əlavə edilməsinin vaxt mürəkkəbliyi, toplusu saxlamaq üçün istifadə olunan məlumatlar quruluşundan asılıdır.
- Əgər toplusu əlaqəli siyahı kimi həyata keçirilmişdirsə (məsələn, sadə əlaqəli siyahı), başlanğıca əlavə etmək O(1) mürəkkəbliyə malik olacaq, çünki yalnız yeni elementə göstərici dəyişdirilir.
- Əgər toplusu array və ya dinamik array kimi həyata keçirilmişdirsə (məsələn, ArrayList), başlanğıca əlavə etmək bütün elementlərin hərəkət etdirilməsini tələb edir, bu da O(n) mürəkkəbliyə malikdir.
- Swift-dəki HashSet və ya iOS-dəki Set kimi standart məlumatlar strukturlarında "başlanğıc" anlayışı yoxdur, çünki toplusu sıralı deyil. Elementin əlavə olunması adətən amortizasiya olunmuş O(1) vaxt alır.
Buna görə, əgər bu xüsusi olaraq toplusu (Set) haqqında isə, elementin əlavə olunması "başlanğıc" anlayışına malik deyil və O(1) vaxtda həyata keçirilir. Əgər sıralanmış kolleksiya isə, başlanğıca əlavə etmək O(1) və ya O(n) ola bilər, tətbiqinə görə.