Карточка 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 ошибок.