Sobes.tech
Junior — Middle

Kokia yra paieškos ir pridėjimo operacijų laiko sudėtingumas ArrayList?

sobes.tech AI

Atsakymas iš AI

ArrayList elemento pridėjimo operacijos į galą vykdomos amortizuotu laiku O(1), nes kai reikia išplėsti vidinį masyvą, laikas gali padidėti, tačiau vidutiniškai pridėjimas yra greitas.

Elemento paieška pagal indeksą (metodas get(int index)) vyksta per laiką O(1), nes ArrayList yra įgyvendintas remiantis masyvu.

Tačiau elemento paieška pagal reikšmę (pavyzdžiui, contains() arba indexOf()) reikalauja pereiti per elementus ir užtrunka laiką O(n), kur n yra sąrašo elementų skaičius.