Tu ruta de aprendizaje
El curriculum se organiza por patrones. Cada tema arranca con una lección que explica el patrón y sigue con problemas para practicarlo en el navegador.
- Etapa 1
Introducción
Cómo usar este curso, cómo estudiar y qué esperar. Cinco minutos antes de arrancar con los temas.
Principiante1 lección0 problemas - Etapa 2
Complejidad
Big O, análisis amortizado, master theorem y trade-offs tiempo vs espacio. La base para razonar sobre cualquier algoritmo del curso.
Principiante4 lecciones0 problemas - Etapa 3
Arrays y Strings
Las estructuras base. Operaciones in-place, slicing eficiente, mutabilidad de strings y arrays dinámicos por dentro.
Principiante4 lecciones0 problemas - Etapa 4
Búsqueda Binaria
Encuentra elementos en datos ordenados en tiempo logarítmico. Aparece en cientos de problemas de entrevista y dentro de muchas estructuras de datos comunes.
Principiante2 lecciones3 problemas - Etapa 5
Dos Punteros
Recorre arreglos y listas con dos índices que cooperan. Convierte soluciones O(n²) en O(n) en muchos problemas sobre arreglos.
Principiante2 lecciones3 problemas - Etapa 6
Ventana Deslizante
Procesa subarreglos contiguos con una ventana que crece y se encoge según una condición. Convierte muchos problemas de subarreglos y substrings en O(n).
Principiante1 lección3 problemas - Etapa 7
Recursión
El cimiento de árboles, grafos, backtracking y programación dinámica. Aprende a pensar recursivamente sin perderte y a manejar la pila de llamadas.
Principiante4 lecciones3 problemas - Etapa 8
Ordenamiento
Algoritmos clásicos (merge, quick), no comparativos (counting, radix) y el patrón 'ordenar primero' que aparece en cientos de problemas.
Principiante5 lecciones3 problemas - Etapa 9
Hash Maps y Sets
Diccionarios y conjuntos para buscar, contar y agrupar en tiempo constante. Base de la mayoría de problemas de frecuencias y duplicados.
Principiante2 lecciones3 problemas - Etapa 10
Listas Enlazadas
Singly, doubly, circular. El patrón sentinela y la detección de ciclos con tortuga y liebre.
Intermedio4 lecciones4 problemas - Etapa 11
Pilas y Colas
LIFO, FIFO y monotonic stack. Paréntesis balanceados, evaluación de expresiones, next greater element y sliding window maximum.
Principiante2 lecciones6 problemas - Etapa 12
Heap y Cola de Prioridad
Mantiene el mínimo o máximo en tiempo O(log n). Usado en top-k, fusiones de listas ordenadas, Dijkstra y planificación.
Intermedio2 lecciones3 problemas - Etapa 13
Árboles Binarios
Recorridos, tipos de árbol (BST, balanceados, completos), métricas (altura, profundidad, diámetro) y serialización.
Intermedio5 lecciones4 problemas - Etapa 14
Búsqueda en Anchura (BFS)
Explora árboles y grafos nivel por nivel. La herramienta natural para caminos mínimos en grafos sin pesos y para problemas sobre matrices.
Intermedio1 lección3 problemas - Etapa 15
Búsqueda en Profundidad (DFS)
Recorrido en profundidad sobre árboles y grafos. Base de backtracking, detección de ciclos y problemas de componentes conexos.
Intermedio2 lecciones3 problemas - Etapa 16
Grafos
Representaciones, componentes conexos, caminos mínimos (Dijkstra, Bellman-Ford, Floyd-Warshall), orden topológico y Union-Find.
Avanzado6 lecciones3 problemas - Etapa 17
Backtracking
Identificar problemas, la plantilla choose/explore/unchoose y técnicas de pruning para que la búsqueda exponencial sea manejable.
Avanzado4 lecciones3 problemas - Etapa 18
Programación Dinámica
Identificar problemas DP, memoización top-down, tabulación bottom-up, optimización de espacio y DP sobre strings.
Avanzado6 lecciones3 problemas - Etapa 19
Greedy
Decisión óptima local en cada paso. Funciona cuando el problema tiene subestructura óptima clara y propiedad de elección codiciosa.
Avanzado2 lecciones3 problemas - Etapa 20
Trie
Árbol especializado para buscar prefijos y palabras. La estructura detrás de autocomplete, corrector ortográfico y búsqueda predictiva.
Avanzado1 lección2 problemas - Etapa 21
Bit y Matemática
Operadores de bits, manipulación de números, máximo común divisor y trucos numéricos comunes en entrevistas.
Avanzado1 lección3 problemas - Etapa 22
Diseño de Estructuras
Cómo combinar dos o más estructuras de datos para resolver problemas que ninguna resuelve sola. LRU Cache, MinStack y variantes.
Avanzado1 lección2 problemas
Próximos temas: DFS, Sliding Window, Programación Dinámica, Grafos.