В программировании существуют различные структуры данных с определенными правилами доступа к элементам. Какая из структур данных функционирует по принципу «последним пришёл — первым вышел»? Выберите один правильный ответ.
Подробное объяснение
Принцип «последним пришёл — первым вышел» (LIFO - Last In, First Out) означает, что элемент, добавленный последним в структуру данных, будет извлечен первым. Стек является классической структурой данных, реализующей этот принцип через операции push (добавление на вершину) и pop (удаление с вершины). В отличие от стека, очередь работает по противоположному принципу FIFO (First In, First Out), где первым извлекается элемент, добавленный раньше всех.
Часто задаваемые вопросы (FAQ)
1
Какие реальные примеры использования стека существуют?
Стек используется в обработке вызовов функций (call stack), реализации отмены действий (undo), синтаксическом анализе выражений и навигации в браузерах (кнопка "Назад").
2
Чем отличается стек от очереди?
Стек работает по принципу LIFO (последним пришёл — первым вышел), а очередь — по принципу FIFO (первым пришёл — первым вышел). В стеке операции выполняются с одного конца, а в очереди — с разных.
3
Какие основные операции поддерживает стек?
Основные операции стека: push (добавление элемента на вершину), pop (удаление элемента с вершины), peek/peek (просмотр верхнего элемента без удаления) и isEmpty (проверка на пустоту).
Типичные ошибки
1
Путаница стека с очередью
Некоторые ошибочно выбирают очередь, но она работает по принципу FIFO (первым пришёл — первым вышел), что противоположно требуемому LIFO.
2
Связывание принципа с деревьями или графами
Деревья и графы — это нелинейные структуры данных с другими принципами доступа, не соответствующими строгому порядку LIFO.
3
Неверная интерпретация аббревиатуры LIFO
LIFO расшифровывается как Last In, First Out, а не First In, Last Out или другие варианты, что важно для правильного понимания принципа работы стека.