Sobes.tech
Junior — Middle

Slice istifadə edərək massivə element əlavə etmənin vaxt mürəkkəbliyi səviyyəsi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go'da, elementi sona əlavə etmək əməliyyatı (append) amortizasiya olunmuş vaxt mürəkkəbliyi O(1)-dir.

İzah:

  • Əgər slice kifayət qədər tutuma (capacity) malikdirsə, element sadəcə növbəti boş indekse yazılmaqla əlavə olunur — bu, sabit vaxtlı əməliyyatdır.

  • Əgər tutum kifayət etməzsə, daha böyük ölçülü yeni massiv ayrılır, köhnə elementlər köçürülür və yeni element əlavə olunur — bu əməliyyat O(n) vaxt alır, burada n hazırkı slice ölçüsüdür.

Lakin, belə yenidən bölüşdürmələr hər əlavə zamanı deyil, yalnız periodik olaraq baş verdiyi üçün, əlavə etmənin orta (amortizasiya olunmuş) mürəkkəbliyi O(1) qalır.