Una computadora sigue instrucciones concretas, en orden. Lleva el robot desde la casilla 0 hasta la merienda en la casilla 3. Cada avance lo mueve una casilla.
Paso 1 de 40/4
x
0
1
2
Merienda
Estás en la casilla 0. ¿Qué instrucción acerca al robot a la merienda?
En este cine ficticio, una entrada abre la puerta. Un booleano solo tiene dos valores: True (verdadero) o False (falso). if ejecuta una rama según esa condición.
Paso 1 de 20/2
x
persona
Ana
tiene_entrada
True
Ana tiene entrada: tiene_entrada = True. ¿Qué sucede?
Una playlist enlazada.Cada canción sabe quién sigue.
Un nodo guarda un dato y una referencia next al siguiente nodo. Construye A → B → C. head es una referencia al primer nodo; None significa que no hay nodo.
Paso 1 de 30/3
x
Anext ∅
Bnext ∅
Cnext ∅
head señala el primer nodo. Cada flecha representa next. ∅ significa que no hay siguiente.
¿A qué nodo debe apuntar head para reproducir A primero?
En A → B → C, quieres quitar B del recorrido. La variable a ya apunta al nodo anterior. No hace falta mover el dato de C.
Paso 1 de 20/2
x
Anext B
Bnext C
Cnext ∅
A → BB → C
head señala el primer nodo. Cada flecha representa next. ∅ significa que no hay siguiente.
a.next es B. ¿A qué nodo apunta a.next.next?
Sin vidas ni penalizaciones
LA RUTA CONTINÚA
Piensa en algoritmos
Puedes avanzar, volver y practicar cualquier reto. No hay etapas bloqueadas.
ETAPA 03 · 7 RETOS
Busca, divide y ordena.
Antes de esta etapa: listas, índices y funciones.
RETO 013 pasos + un nuevo caso
Recursión · caso base
Cajas dentro de cajas.Abre una más pequeña.
Una función recursiva se llama a sí misma con un problema más pequeño. Calcula la suma de 1 hasta 3: suma(3) = 3 + suma(2). El caso base suma(0) devuelve 0.
Paso 1 de 30/3
x
pendiente
3 + suma(2)
suma(3) deja pendiente sumar 3. ¿Qué llamada abre ahora?
Big O describe cómo crece el trabajo al aumentar los datos; no mide segundos exactos. Compara consultar una posición, revisar toda una lista y comparar cada par.
Paso 1 de 30/3
x
n
10
operación
Leer índice 0
Una lista pasa de 10 a 10000 elementos. Leer datos[0] en un array requiere…
Combina [2, 5] y [1, 4]. Solo necesitas comparar el primer elemento disponible de cada fila y sacar el menor. Merge sort obtiene esas filas dividiendo y ordenando recursivamente.
Visitar significa registrar un nodo en la salida. Sigue la regla raíz → izquierda → derecha en cada subárbol. Toca los nodos en el orden en que se registran; las pistas te acompañan.
Paso 1 de 70/7
x
visitados
ninguno
Raíz: 4. Izquierda y derecha se refieren a cada nodo. Un árbol conecta nodos sin ciclos.
Visitar significa registrar un nodo en la salida. Sigue la regla izquierda → raíz → derecha en cada subárbol. Toca los nodos en el orden en que se registran; las pistas te acompañan.
Paso 1 de 70/7
x
visitados
ninguno
Raíz: 4. Izquierda y derecha se refieren a cada nodo. Un árbol conecta nodos sin ciclos.
Visitar significa registrar un nodo en la salida. Sigue la regla izquierda → derecha → raíz en cada subárbol. Toca los nodos en el orden en que se registran; las pistas te acompañan.
Paso 1 de 70/7
x
visitados
ninguno
Raíz: 4. Izquierda y derecha se refieren a cada nodo. Un árbol conecta nodos sin ciclos.
Un min-heap es un árbol binario completo: se llena por niveles, de izquierda a derecha. Cada padre es menor o igual que sus hijos. Insertas prioridad 1 al final de [2, 4, 7, 8]; un número menor significa más urgencia.
Paso 1 de 20/2
x
20
41
72
83
14
El 1 entra en el índice 4. Su padre está en (4 − 1) // 2 = 1, valor 4. ¿Qué haces?
Un trie comparte prefijos. Guardamos casa y cama: ambas comparten c → a y luego se separan. Una marca de fin distingue una palabra completa de un simple prefijo.
Paso 1 de 20/2
x
guardada
casa
nueva
cama
Ya existe c → a → s → a para casa. Al insertar cama, ¿qué prefijo reutilizas?
Sin vidas ni penalizaciones
LA RUTA CONTINÚA
Grafos
Puedes avanzar, volver y practicar cualquier reto. No hay etapas bloqueadas.
ETAPA 05 · 5 RETOS
Explora redes y encuentra caminos.
Antes de esta etapa: colas, pilas y árboles.
RETO 012 pasos + un nuevo caso
Grafo · lista de adyacencia
Un mapa sin coordenadas.Solo importa quién conecta.
Un grafo tiene nodos y aristas. Aquí cada letra es un lugar y cada línea, una calle de doble sentido. La lista de adyacencia guarda los vecinos directos de cada lugar.
Paso 1 de 20/2
x
A
B
C
D
E
visitados
ninguno
Calles de doble sentido. Cuando hay varios vecinos, los consideramos en orden alfabético.
Encuentra lo más cercano.Primero, todos tus vecinos.
Explora este mapa desde A usando una cola. Saca del frente, registra el lugar y agrega vecinos nuevos al final, en orden alfabético. Marcamos al encolar para no repetir.
Paso 1 de 50/5
x
visitados
ninguno
pendientes
A
Calles de doble sentido. Cuando hay varios vecinos, los consideramos en orden alfabético.
El recorrido empieza en A. ¿Qué nodo registras primero?
Sigue una calle hasta el fondo.Después, vuelve atrás.
Recorre desde A con DFS recursivo. Registra al entrar y toma el primer vecino no visitado en orden alfabético. Si ya no hay ninguno, regresa a quien te llamó.
Paso 1 de 50/5
x
visitados
ninguno
pendientes
A
Calles de doble sentido. Cuando hay varios vecinos, los consideramos en orden alfabético.
El recorrido empieza en A. ¿Qué nodo registras primero?
La entrega más rápida.Menos minutos, no menos calles.
Partes de A. La distancia tentativa es el mejor tiempo conocido hasta ahora. Fija el nodo pendiente con menor distancia y mejora las distancias de sus vecinos. ∞ significa que todavía no conocemos un camino.
Paso 1 de 30/3
x
A
A
0
B
4
C
1
D
∞
Calles de doble sentido. Los números son minutos. Todos los pesos son no negativos.
Tras fijar A: B cuesta 4 y C cuesta 1. ¿Qué nodo fijas ahora?
A = escribir código, B = compilar, C = probar y D = publicar. A debe ir antes que B y C; B y C antes que D. No hay ciclos. Cuando haya empate, elige la letra menor.
Paso 1 de 40/4
x
Código
Compilar
Probar
Publicar
terminadas
ninguna
Una flecha X → Y exige terminar X antes de empezar Y.
¿Qué tarea está disponible ahora? Si hay empate, elige la letra menor.
Sin vidas ni penalizaciones
LA RUTA CONTINÚA
Siguiente nivel
Puedes avanzar, volver y practicar cualquier reto. No hay etapas bloqueadas.
ETAPA 06 · 6 RETOS
Combina ideas para resolver más con menos.
Antes de esta etapa: complejidad, recorridos y estructuras.
RETO 013 pasos + un nuevo caso
Tabla hash · colisiones
Casilleros con atajo.Dos llaves, un mismo cajón.
Usamos 5 casilleros y hash(clave) = clave % 5. % devuelve el resto de la división. Guardaremos claves 12 y 17; con encadenamiento, cada casillero contiene una lista de entradas.
Paso 1 de 30/3
x
vacío0
vacío1
vacío2
vacío3
vacío4
12 dividido entre 5 deja resto 2. ¿En qué casillero guardas la clave 12?
En los precios ordenados [1, 3, 4, 6, 8], encuentra dos que sumen 10. Un puntero empieza a la izquierda y otro a la derecha. Compara su suma con el objetivo.
Registraste [2, 1, 5, 1, 3] kilómetros. Encuentra la mayor suma de tres días consecutivos. Al mover una ventana, resta el día que sale y suma el que entra.
Puedes subir 1 o 2 escalones cada vez. dp[n] guarda cuántas secuencias distintas llegan al escalón n. Para llegar a n, el último salto viene de n − 1 o n − 2.
Conecta las comunidades.¿Ya pertenecen al mismo grupo?
A y B están conectados; C y D también. Union–Find representa cada grupo con una raíz. find encuentra esa raíz y union combina dos grupos distintos.
Paso 1 de 30/3
x
grupo A
A, B
grupo C
C, D
find(B)
A
find(C)
C
B tiene raíz A y C tiene raíz C. ¿Ya pertenecen al mismo grupo?
Sin vidas ni penalizaciones
SIGUE HACIENDO PREGUNTAS
De la intuición a tus proyectos.
Una ruta amplia de fundamentos, estructuras y algoritmos. Cada tema admite problemas más grandes: vuelve a practicar y escribe tus propias implementaciones.