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

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