Describe una estructura de datos donde:enigma algorítmica: secuencia con acceso aleatorio, la inserción y remoción
- cualquier artículo es indexado por un valor integral como en una matriz
- un número entero puede índice de una sola valor
- enteros utilizados para elementos de índice son contiguas : que van de 1 a
n
sin agujeros
- conseguir el artículo en la posición
i
(es decir: el elemento asociado al número enteroi
) debe ser lo más rápido posible- de acceso aleatorio
- Inserción de un nuevo elemento en la posición
i
debe ser lo más rápido posible- esto le haga cambiar cualquier artículo de
i
en adelante
- esto le haga cambiar cualquier artículo de
- Eliminar un elemento en la posición
i
también debería ser lo más rápido posible- esto izquierdo cambiar cualquier artículo de
i+1
en adelante
- esto izquierdo cambiar cualquier artículo de
EDIT: una pequeña cosa que me olvidé de : los índices de elementos solo se pueden desplazar al agregar/eliminar uno, no se pueden intercambiar aleatoriamente.
En esta descripción n
es el tamaño de la estructura (es decir: el número de elementos que contiene), y i
es un número entero genérico (1 < = i
< = n
), por supuesto.
Oí esto de un hombre que conocí en mi facultad. No sé si es una pregunta de entrevista, una pregunta de examen, solo un enigma o qué, pero supongo que podría ser todo.
Si no recuerdo mal (pero bueno, era antes de diciembre 24ª), dijo una estructura de datos podría ser implementado, ya sea con O(sqrt n)
inserción/remoción y O(1)
tiempo de acceso, o con O(log n)
para cualquier operación.
EDITAR: Algunas respuestas correctas han sido dadas. Léelo si no quieres pensar más sobre este problema.
En estos días encontré una solución, ¿debería agregarla a la pregunta, o mediante una respuesta? – peoro
Agregue como respuesta, pero esperaría un día más o menos para que la gente se divierta al responder ;-) –
No entiendo. Si tu problema se resolvió ... ¿por qué publicaste una pregunta? –