Progettare una struttura personalizzata significa comporre strutture esistenti in modo che ogni operazione richiesta raggiunga la complessità target, permettendo a una struttura di coprire le debolezze di un'altra. La tecnica classica è associare una hash map con un array, heap, o lista collegata.
Un esempio pratico: insert, delete, getRandom — tutti O(1)
Requisiti: , , e ciascuno in O(1). Una hash map da sola non può fare random in O(1); un array da solo non può fare remove in O(1). .
