Junior
ArrayList üçün add() metodunun ən pisə vaxtı nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Amortizə olunmuş sabit vaxt O(1).
Əksər hallarda, add() sabit vaxtda yerinə yetirilir, çünki yeni element mövcud daxili massivə sadəcə əlavə olunur.
Ən pis halda, daxili massivinin tutumu çatdıqda baş verir. Bu halda, ArrayList yeni, daha böyük bir massiv yaradır (adətən mövcud ölçünün 1.5 qat artığı), köhnə massivdən bütün elementləri ona köçürür və sonra yeni elementi əlavə edir. Bu köçürmə əməliyyatı mövcud elementlərin sayına (N) proporsional vaxt alır və bu, O(N) vaxt mürəkkəbliyinə gətirib çıxarır.
Ancaq, bu ölçü dəyişiklikləri nadir hallarda baş verir və çoxsaylı add() çağırışlarına yayılır, buna görə də add()-ın orta icra vaxtı (amortizasiya olunmuş) sabit qalır.