Краткое описание некоторых в контексте 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 |
| Куча | Частично упорядоченное дерево | Приоритетные очереди, сортировка heapsort | SplHeap, SplPriorityQueue |