¿Qué es realmente una deque en STL?

Estaba mirando contenedores STL e intentando averiguar cuáles son realmente (es decir, la estructura de datos utilizada), y deque me detuvo: al principio pensé que era una lista con doble enlace, lo que permitiría la inserción y eliminación de ambos extremos en un tiempo constante, pero @ me preocula promesa hecha por el operador [] a realizar en tiempo constante. En una lista vinculada, el acceso arbitrario debe ser O (n), ¿verdad?

Y si es una matriz dinámica, ¿cómo puedeadd elements en tiempo constante? Cabe mencionar que la reasignación puede ocurrir, y que O (1) es un costo amortizado,like para un vector.

Así que me pregunto cuál es esta estructura que permite el acceso arbitrario en tiempo constante y, al mismo tiempo, nunca necesita ser trasladado a un nuevo lugar más grande.

Respuestas a la pregunta(7)

Su respuesta a la pregunta