Aprendamos con Codi
CURSO INTERACTIVO · GRATUITO

Complejidad algorítmica y Big O en JavaScript

Analiza crecimiento temporal y espacial, reconoce cotas y escenarios y compara soluciones con conteos y mediciones orientativas. Integra el análisis en consultas de estudiantes considerando preparación, memoria, mantenimiento y claridad.

Cinco clases completas con Codi para pasar de observar operaciones a justificar decisiones de implementación. Incluye tablas de crecimiento, esquemas conceptuales, ejemplos instrumentados, actividades con pistas y devoluciones y laboratorios con tamaños acotados.

La progresión aborda tamaño de entrada, cotas Big O, análisis de código, memoria adicional y escenarios. Ω y Θ se presentan como contexto sin demostraciones. El proyecto compara búsqueda lineal, binaria preparada y Map, además de recorridos, pares y transformaciones. Distingue supuestos del modelo de garantías del lenguaje y evita atribuir costos universales a métodos nativos.

Los playgrounds solo usan JavaScript síncrono y salidas permitidas. performance.now se reserva a un ejemplo autónomo de navegador, con resultados variables y sin tiempos inventados. Los ejemplos son independientes: utiliza contextos nuevos si tu consola conserva declaraciones anteriores. El código libre, las reflexiones y las decisiones personales no se evalúan automáticamente.

TU PUNTO DE LLEGADA

Qué aprenderás

Definir n, recursos, escenarios y modelo de operaciones. Distinguir conteos, tiempos medidos y cotas asintóticas. Reconocer O(1), O(log n), O(n), O(n log n), O(n²) y el crecimiento conceptual O(2ⁿ). Analizar recorridos secuenciales, anidados, dependientes y auxiliares. Separar entrada, espacio de trabajo y salida. Distinguir mejor, promedio y peor caso de los tipos de cota O, Ω y Θ. Comparar búsquedas y preparación de estructuras sin asumir garantías universales de Map o sort. Medir de manera orientativa en navegador y reconocer sus limitaciones. Justificar una mejora correcta según volumen, frecuencia, memoria, mantenimiento y legibilidad.

Antes de empezar

Haber completado los cursos 01 a 15 de Fundamentos de Programación o conocer JavaScript con funciones, bucles, arrays, objetos, clases, Map, Set, búsquedas lineal y binaria y ordenamientos Bubble e Insertion. Se reutilizan depuración y pruebas de escritorio. No se requieren cálculo avanzado, demostraciones formales ni instalaciones.

UN PASO A LA VEZ

Tu recorrido

5 clases para descubrir, practicar y repasar.

  1. Complejidad: observar el crecimiento del trabajo

    Definir tamaño de entrada, operación contada y recursos considerados para comparar estrategias sin confundir conteos y tiempos.

  2. Big O: reconocer órdenes de crecimiento

    Distinguir cotas constantes, logarítmicas, lineales y cuadráticas y contextualizar n log n y crecimiento exponencial.

  3. Analizar el código: límites, secuencias y llamadas

    Derivar conteos y cotas de cinco funciones y reconocer cómo influyen límites, escenarios y costos auxiliares.

  4. Memoria y escenarios: espacio, mejor y peor caso

    Estimar memoria auxiliar y de salida y separar cotas de crecimiento de los escenarios mejor, promedio y peor.

  5. Proyecto: comparar consultas y justificar una decisión

    Analizar y comprobar un sistema de consultas con conteos, preparación, memoria y mediciones experimentales, justificando una alternativa según su uso.

Puedes practicar sin cuenta. Tu avance anónimo se pierde al recargar o salir; inicia sesión para guardarlo.

Entrar al curso →