Встречается на собеседованиях • сегодня
В чем разница между ArrayList и LinkedList по временной сложности
ArrayList и LinkedList имеют разные временные сложности для операций:
**Доступ по индексу:**
- ArrayList: O(1) - доступ через массив
- LinkedList: O(n) - нужно пройти по цепочке узлов
**Вставка/удаление в середине:**
- ArrayList: O(n) - сдвиг элементов
- LinkedList: O(1) - если известен узел, но O(n) на поиск узла
**Добавление в конец:**
- ArrayList: O(1) амортизированно (если не нужно расширять массив)
- LinkedList: O(1)
Пример:
```java
List arrayList = new ArrayList<>();
List linkedList = new LinkedList<>();
// Добавление в конец
arrayList.add(1); // O(1)
linkedList.add(1); // O(1)
// Доступ по индексу
arrayList.get(0); // O(1)
linkedList.get(0); // O(n)
```
Выбор зависит от операций: частый доступ - ArrayList, частые вставки/удаления - LinkedList.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы