// currículo · 12 lecciones · hecho para el pulgar
[data structures]
Desde una fila de casilleros numerados hasta árboles auto-balanceados. Cada lección abre con una demo interactiva que puedes tocar — push, pop, walk, hash, rotate — y el texto vive debajo de la demo, no delante de ella.
Repaso
Lecciones
- #01
Arreglos
Memoria contigua — acceso por índice en un solo ciclo de CPU
- read
- O(1)
- write
- O(n)
- layout
- contiguous
- #02
Listas Enlazadas
Nodos dispersos por la memoria, cosidos con punteros
- read
- O(n)
- write
- O(1)*
- layout
- scattered
- #03
Pilas
LIFO — el último en entrar, el primero en salir
- read
- O(1)
- write
- O(1)
- layout
- LIFO
- #04
Colas
FIFO — orden justo, siempre
- read
- O(1)
- write
- O(1)
- layout
- FIFO
- #05
Árboles Binarios
Un nodo, dos hijos — toda estructura de datos recursiva
- read
- O(n)
- write
- O(1)
- layout
- hierarchy
- #06
Árboles Binarios de Búsqueda
Orden a la entrada, tiempo logarítmico a la salida
- read
- O(log n)
- write
- O(log n)
- layout
- ordered
- #07
Montículos y Colas de Prioridad
Respaldado por arreglo, mínimo en tiempo logarítmico — el motor de las colas de prioridad
- read
- O(1)
- write
- O(1)
- layout
- FIFO
- #08
Tablas Hash
hash djb2 → índice de bucket → O(1) promedio
- read
- O(1)*
- write
- O(1)*
- layout
- bucketed
- #09
Grafos
Vértices y aristas — la abstracción universal
- read
- O(V+E)
- write
- varies
- layout
- edges
- #10
Árboles Balanceados
Las rotaciones mantienen la altura ≈ log n, sin importar el orden de inserción
- read
- O(log n)
- write
- O(log n)
- layout
- self-rotating
- #11
Programación Dinámica
Cambia memoria por tiempo — resuélvelo una vez, recuérdalo para siempre
- read
- O(1)*
- write
- tabulate
- layout
- O(n·m)