Diseñar una estructura personalizada significa componer estructuras existentes para que cada operación requerida alcance su complejidad objetivo, permitiendo que una estructura cubra la debilidad de otra. La técnica clásica es emparejar un hash map con un array, heap o lista enlazada.
Un ejemplo práctico: insert, delete, getRandom — todas O(1)
Requisitos: , y cada una en O(1). Un hash map solo no puede hacer O(1) aleatorio; un array solo no puede hacer O(1) eliminar. .
