Array
Estructura con memoria contigua y acceso O(1) por índice.
Un array (arreglo) es una estructura de datos fundamental que almacena elementos del mismo tipo en ubicaciones de memoria contiguas. Esto permite el acceso a cualquier elemento en tiempo constante O(1).
Características clave:
- Tamaño fijo (normalmente)
- Memoria contigua (excelente para la caché)
- Acceso aleatorio rápido
Las desventajas incluyen inserciones y eliminaciones costosas O(n) ya que requieren desplazar elementos.
graph LR
Center["Array"]:::main
Pre_data_structures["data-structures"]:::pre --> Center
click Pre_data_structures "/terms/data-structures"
Rel_linked_list["linked-list"]:::related -.-> Center
click Rel_linked_list "/terms/linked-list"
Rel_queue["queue"]:::related -.-> Center
click Rel_queue "/terms/queue"
Rel_stack["stack"]:::related -.-> Center
click Rel_stack "/terms/stack"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explícalo como si tuviera 5 años
Imagina una fila de casilleros numerados. Si sabes el número de tu casillero, puedes ir directamente a él sin revisar los demás. ¡Así funcionan los arrays!
🤓 Expert Deep Dive
La localidad espacial hace que los arrays sean mucho más rápidos que las listas enlazadas debido a las líneas de caché de la CPU. La vectorización SIMD permite procesar múltiples elementos simultáneamente. La alineación de memoria es crítica para el rendimiento en arquitecturas modernas.