Карточка Middle Массивы изнутри обновлено

Структуры данных SPL

Вопрос

Какие структуры данных есть в SPL и когда они лучше массива?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

- SplStack, SplQueue: стек и очередь на двусвязном списке. - SplPriorityQueue, SplMinHeap, SplMaxHeap: куча за O(log n). - SplFixedArray: массив фиксированного размера с целыми индексами, экономнее по памяти. - SplObjectStorage: множество или словарь с объектами-ключами.

Ответ

  • SplStack, SplQueue: стек и очередь на двусвязном списке.
  • SplPriorityQueue, SplMinHeap, SplMaxHeap: куча за O(log n).
  • SplFixedArray: массив фиксированного размера с целыми индексами, экономнее по памяти.
  • SplObjectStorage: множество или словарь с объектами-ключами.

Разбор

Для очереди на массиве array_shift стоит O(n): перенумерация ключей. SplQueue или индекс-указатель решают проблему.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.