me_edu
Алгоритмы и структуры данных: основыШаг 15 из 31 · 0% пройдено
Стеки, очереди и хеш-таблицы · Стеки, очереди и хеш-таблицы

Стек и очередь

Шаг 15 из 317 минТеория
Цель

Понять основной механизм темы «Стек и очередь» без заучивания отдельных терминов.

Как работать

Прочитайте блок один раз целиком, затем вернитесь к схеме или примеру и перескажите идею своими словами.

Критерий

Сформулированное правило, пример применения и одно ограничение метода.

PROCESS DIAGRAM1Стек: push2pop сверху (LIFO)3Очередь: enqueue4dequeue с начала (FIFO)
Стек берёт с того же конца (LIFO), очередь — с другого (FIFO)
Опорная идея

Поверх массивов и списков строят структуры с особыми правилами доступа.

Стек (stack) работает по принципу LIFO — «последним пришёл, первым ушёл», как стопка тарелок: кладёшь и берёшь только сверху. Две операции: push (положить наверх) и pop (снять верхний) — обе O(1).

stack = [] stack.push(1); stack.push(2) // [1, 2] stack.pop() // вернёт 2

Стек повсюду: кнопка «Назад» в браузере, отмена действий (Ctrl+Z), вызовы функций (call stack).

Очередь (queue) работает по принципу FIFO — «первым пришёл, первым ушёл», как живая очередь: добавляют в конец, берут из начала. Операции: enqueue (в конец) и dequeue (из начала).

Очереди используют там, где важен порядок обработки: задачи на печать, сообщения, обработка запросов сервером. Стек и очередь отличаются только тем, с какого конца берут элемент, но это меняет всё поведение.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.