Что такое стеки и очереди, смежные или связанные структуры данных? - PullRequest
0 голосов
/ 25 октября 2018

Я на самом деле читаю научную книгу "Руководство по разработке Algothm", в которой говорится, что существует два типа структур данных:

• Смежные структуры состоят из отдельных блоков памяти и включают в себя массивы,матрицы, кучи и хеш-таблицы.

• Связанные структуры данных состоят из отдельных кусков памяти, связанных вместе указателями, и включают списки, деревья и списки смежности графов.

Но я сделалне вижу стеков и очередей.смежный или связанный?

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете реализовать их обоими способами.Стеки и очереди являются абстрактными типами данных, а не структурами данных, поэтому они предоставляют только интерфейс, а не реализацию.Например, вы можете реализовать стек, используя связанный список или массив.Вы не знаете базовую реализацию при использовании стека, вместо этого вы знаете, какие данные он может хранить и разные средства доступа.

Конкретнее, рассмотрим стек.Вы можете представить его с помощью массива, который может использовать стратегию удвоения по мере увеличения.Вы можете принять целочисленное значение, представляющее индекс, по которому стек поднимается, и затем вы будете продолжать перемещать этот целочисленный указатель вперед.Аналогично, для связанных списков вы можете выбрать связанный список, представляющий стек, и у вас будет обратная ссылка, чтобы вы могли всплыть.

...