Middle
Python siyahısına element əlavə etmənin vaxt mürəkkəbliyi nədir, sonunda, başlanğıcda və ortasında?
sobes.tech Süni İntellekt
AI-dan cavab
Python-da siyahılar dinamik massivlər kimi həyata keçirilir, ona görə əməliyyatların vaxt mürəkkəbliyi yerləşdirmə mövqeyindən asılıdır:
- Sonuna əlavə etmək (
list.append(element)) — amortizasiya olunmuş O(1), çünki adətən yer var, amma bəzən yaddaşın yenidən bölüşdürülməsi baş verir. - Başlanğıca əlavə etmək (
list.insert(0, element)) — O(n), çünki bütün elementlər sağa doğru hərəkət edir. - Ortasına əlavə etmək (
list.insert(index, element)) — həmçinin O(n), çünki indeksdən sonra olan elementlər hərəkət edir.
Bu səbəbdən, başlanğıca və ya ortaya səmərəli əlavə üçün digər məlumat strukturlarından, məsələn, collections.deque istifadə etmək daha yaxşıdır.