Junior
56
questionbank

Какие структуры данных в программировании вы знаете?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • Массивы (индексированные, ассоциативные)
  • Стек
  • Очередь
  • Связные списки (односвязный, двусвязный, циклический)
  • Деревья (бинарное, сбалансированное, B-дерево и т.д.)
  • Графы
  • Хеш-таблицы (карты, словари)
  • Множества
  • Кучи (heap)

Краткое описание некоторых в контексте PHP:

Массивы

PHP-массивы являются по сути упорядоченными картами, сочетающими свойства массивов и списков. Могут содержать как числовые, так и строковые ключи.

php

Стек

Работает по принципу LIFO (Last-In, First-Out). В PHP можно реализовать с помощью массива и функций array_push(), array_pop().

php

Очередь

Работает по принципу FIFO (First-In, First-Out). В PHP можно реализовать с помощью массива и функций array_push(), array_shift().

php

Хеш-таблицы / Карты (Ассоциативные массивы)

Сопоставляют ключи значениям для быстрого поиска. В PHP ассоциативные массивы по сути являются хеш-таблицами.

php

Таблица с примерами и описанием:

Структура данныхПринцип работыПрименениеPHP-аналог/реализация
Массив (индексированный)Последовательное хранениеКоллекции однотипных данных, спискиarray
Массив (ассоциативный)Хранение пар ключ-значениеСловари, конфигурации, данные формarray
СтекLIFOИстория операций, вызов функций, парсингarray с push/pop
ОчередьFIFOОбработка задач, буферыarray с push/shift
Связный списокЭлементы связаны указателямиДинамические списки, очереди, стекиНет встроенного типа, реализация объектами
ДеревоИерархическая структураФайловые системы, структуры XML/JSON, поискНет встроенного типа, реализация объектами
ГрафМножество вершин и реберСоциальные сети, маршрутизация, зависимостиНет встроенного типа, реализация объектами
Хеш-таблица/КартаБыстрый доступ по хешу ключаКэши, словари, ассоциативные массивыarray (ассоциативный)
МножествоКоллекция уникальных элементовПроверка уникальности, операции над множествамиarray с проверкой уникальности, array_unique
КучаЧастично упорядоченное деревоПриоритетные очереди, сортировка heapsortSplHeap, SplPriorityQueue