Зачем мне стек и очередь? - PullRequest
0 голосов
/ 24 марта 2019

Ну, этот вопрос уже задавался, и я читал о реализации стека и очереди. Но я чувствую, что эти вещи также могут быть реализованы с помощью массива или списка. Например: LIFO (Last in First Out) может быть легко реализовано в python с использованием списка.

Тогда зачем нам стек и очередь?

1 Ответ

1 голос
/ 24 марта 2019

Stack и Queue являются структурами данных.Каждый из них обладает определенными свойствами.Например, Stack - это LIFO (последний пришел первым вышел), тогда как Queue - это FIFO (первый вышел первым).

В случае реализации - вам решать, как вы их реализуете.Например, если вы используете C ++, вы можете использовать массив или вектор или даже связанный список для их реализации.Аналогичный случай для питона.Вы можете настроить список на ожидаемое поведение (например, стек или очередь).В более упрощенном определении - Stacks are basically array or list which has the property of LIFO и Queues are basically array or list which has the property of FIFO.

Теперь, зачем вам Stack или Queue?- хорошо, если вам нужна структура данных, которая имеет свойство LIFO (или FIFO).Чем ты занимаешься?Вы можете настроить список в соответствии с вашими потребностями.Но если в вашей программе требуется несколько стеков (или очередей), что вы тогда делаете?Ну, вы можете реализовать стек (который используется под списком), который даст вам общий шаблон, который вы можете использовать повторно несколько раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...