// 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

  1. #00

    Complejidad Big-O

    ¿Qué tan rápido crece el trabajo cuando crece la entrada?

    read
    primer
    write
    layout
    asymptotic
·

Lecciones

  1. #01

    Arreglos

    Memoria contigua — acceso por índice en un solo ciclo de CPU

    read
    O(1)
    write
    O(n)
    layout
    contiguous
  2. #02

    Listas Enlazadas

    Nodos dispersos por la memoria, cosidos con punteros

    read
    O(n)
    write
    O(1)*
    layout
    scattered
  3. #03

    Pilas

    LIFO — el último en entrar, el primero en salir

    read
    O(1)
    write
    O(1)
    layout
    LIFO
  4. #04

    Colas

    FIFO — orden justo, siempre

    read
    O(1)
    write
    O(1)
    layout
    FIFO
  5. #05

    Árboles Binarios

    Un nodo, dos hijos — toda estructura de datos recursiva

    read
    O(n)
    write
    O(1)
    layout
    hierarchy
  6. #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
  7. #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
  8. #08

    Tablas Hash

    hash djb2 → índice de bucket → O(1) promedio

    read
    O(1)*
    write
    O(1)*
    layout
    bucketed
  9. #09

    Grafos

    Vértices y aristas — la abstracción universal

    read
    O(V+E)
    write
    varies
    layout
    edges
  10. #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. #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)