Встречается на собеседованиях • сегодня

Почему сложность добавления элемента в начало и в конец 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) ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы