Thiết kế một cấu trúc tùy chỉnh nghĩa là kết hợp các cấu trúc có sẵn sao cho mỗi thao tác yêu cầu đạt độ phức tạp mục tiêu của nó, để một cấu trúc che điểm yếu của cấu trúc khác. Kỹ thuật kinh điển là ghép một hash map với một array, heap, hoặc linked list.
Một ví dụ đã giải: insert, delete, getRandom — tất cả O(1)
Yêu cầu: , , và mỗi cái trong O(1). Chỉ một hash map không thể làm random O(1); chỉ một array không thể làm remove O(1). .
