Junior — Middle
Jaka jest złożoność czasowa operacji wyszukiwania i dodawania elementów w ArrayList?
sobes.tech AI
Odpowiedź od AI
Operacje dodawania elementu na koniec listy ArrayList wykonywane są w czasie amortyzowanym O(1), ponieważ w razie konieczności rozszerzenia wewnętrznej tablicy czas ten może się wydłużyć, ale średnio dodawanie jest szybkie.
Wyszukiwanie elementu po indeksie (metoda get(int index)) odbywa się w czasie O(1), ponieważ ArrayList jest zaimplementowany na podstawie tablicy.
Jednak wyszukiwanie elementu po wartości (np. contains() lub indexOf()) wymaga przeszukania elementów i zajmuje czas O(n), gdzie n to liczba elementów na liście.