¿Qué estructuras de datos existen?
sobes.tech AI
Respuesta de la IA
Arrays, listas, pilas, colas, árboles, grafos, tablas hash.
Array: Colección de elementos del mismo tipo, almacenados en celdas de memoria contiguas. Acceso por índice.
Lista: Colección secuencial de elementos. Pueden ser enlazadas simple o doblemente. Añadir/eliminar en medio es más eficiente que en un array.
Pila: Estructura LIFO (Last-In, First-Out). Operaciones: push (agregar), pop (eliminar del final), peek (ver el elemento superior).
Cola: Estructura FIFO (First-In, First-Out). Operaciones: enqueue (agregar al final), dequeue (eliminar del principio), peek (ver el primer elemento).
Árbol: Estructura jerárquica de datos. Raíz, nodos, descendientes. Ejemplo: árbol binario de búsqueda.
Grafo: Conjunto de vértices (nodos), conectados por aristas. Puede ser dirigido o no dirigido, ponderado o no ponderado.
Tabla hash: Colección de pares clave-valor. Usa función hash para acceso rápido (en promedio). Pueden ocurrir colisiones.
Ejemplos de uso en iOS:
- Arrays:
Array - Listas: no hay clase incorporada, se implementan con arrays o estructuras personalizadas
- Pilas/Colas: implementadas con arrays o listas
- Árboles: usados en frameworks, por ejemplo, en UI (jerarquía de vistas)
- Grafos: para representar relaciones, por ejemplo, en redes
- Tablas hash:
Dictionary,Set
// Ejemplo de array
let numbers = [1, 2, 3, 4, 5]
print(numbers[0]) // Acceso por índice
// Ejemplo de diccionario (tablas hash)
let grades = ["Alice": 95, "Bob": 88]
print(grades["Alice"] ?? 0) // Acceso por clave