Что происходит при добавлении элемента в Stack реализованный с помощью LinkedList

«Что происходит при добавлении элемента в Stack реализованный с помощью LinkedList» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При добавлении элемента в Stack на основе LinkedList происходит следующее:

  1. Элемент добавляется в начало списка (head), что соответствует LIFO (Last In First Out) принципу стека.
  2. Операция выполняется за O(1) время, так как не требует обхода списка.
  3. Размер стека увеличивается на 1.

Пример кода:

LinkedList<Integer> stack = new LinkedList<>();
stack.push(1); // Добавляем элемент в стек
// Теперь стек: [1]
stack.push(2); // Добавляем следующий элемент
// Теперь стек: [2, 1]

Основные методы для работы со стеком в LinkedList:

  • push(E e) - добавление элемента
  • pop() - извлечение верхнего элемента
  • peek() - просмотр верхнего элемента без удаления