Estructuras de datos, viéndolas funcionar

Pila, cola, lista enlazada y tabla hash con animaciones: pulsa push, pop, enqueue... y mira qué pasa.

Una estructura de datos es una forma de organizar la información para que ciertas operaciones sean rápidas. Elegir bien la estructura suele importar más que optimizar el código.

Visualizador

Elige una estructura, escribe un valor (o déjalo vacío para uno al azar) y pulsa las operaciones:

Cuál usar y cuándo

En tu lenguaje ya las tienes

// JavaScript
const pila = [];      pila.push(x);   pila.pop();
const cola = [];      cola.push(x);   cola.shift();
const mapa = new Map(); mapa.set(k, v); mapa.get(k); mapa.has(k);
const conjunto = new Set();  conjunto.add(x);  conjunto.has(x);
# Python
pila = [];            pila.append(x);  pila.pop()
from collections import deque
cola = deque();       cola.append(x);  cola.popleft()
mapa = {};            mapa[k] = v;     mapa.get(k);   k in mapa
conjunto = set();     conjunto.add(x); x in conjunto
// Java
Deque<Integer> pila = new ArrayDeque<>();  pila.push(x);   pila.pop();
Queue<Integer> cola = new LinkedList<>();   cola.add(x);    cola.poll();
Map<String,Integer> mapa = new HashMap<>(); mapa.put(k,v);  mapa.get(k);
Set<Integer> conjunto = new HashSet<>();    conjunto.add(x); conjunto.contains(x);

Comprueba lo aprendido

Siguiente paso

Big-O y complejidad · Recursividad · Estructuras de datos en Java