Проектирование пользовательской структуры означает комбинирование существующих структур таким образом, чтобы каждая требуемая операция достигала целевую сложность, позволяя одной структуре компенсировать слабость другой. Классический подход — это объединение hash map с array, heap или linked list.
Практический пример: insert, delete, getRandom — все O(1)
Требования: , и каждая в O(1). Только hash map не может обеспечить O(1) для случайного доступа; только array не может обеспечить O(1) для удаления. .
