⏱️ Calibración

Un algoritmo O(n) tarda

con N =
{{ calError }}

→ cada operación cuesta c = T / N ≈ {{ humanTime(logC) }}. Todos los tiempos de abajo son c · f(N).

📈 Gráfico

En lineal se ve cómo las que crecen rápido aplastan al resto; en logarítmica se pueden comparar todas.

➕ Agregar función
{{ customError }}

Se puede usar n, números, + - * / ^, paréntesis, log (base 2), ln, sqrt y !.

Hecho con ❤️ por Programación Avanzada (y Claude)

📋 Órdenes de complejidad
Comparar:
✔ f(n) Constante Nombre Ejemplos Tiempo para N = {{ fmt(calN) }}
{{ f.name }} {{ f.examples }} {{ calError ? '—' : humanTime(timeLog(f, calN), true) }}
📊 f(n) para n de 1 a {{ fmt(nMax) }} ({{ yLog ? 'escala logarítmica' : 'escala lineal' }})

Marcá al menos una función en la tabla para graficarla.

⏳ Cuánto tardaría para cada N
f(n) N = {{ fmtPow10(N) }}
{{ f.label }} {{ humanTime(timeLog(f, N), true) }}

Amarillo: más de un día. Rojo: más de un siglo. 🌌: más que la edad del universo (≈ 1,4 × 10¹⁰ años).

🎯 N más grande que se resuelve en…
f(n) {{ b.label }}
{{ f.label }} {{ maxNLabel(f, b.s) }}

El N más grande tal que c · f(N) entra en ese tiempo.

🚀 Con una computadora veces más rápida, en
f(n) N hoy N con la nueva Crece
{{ f.label }} {{ maxNLabel(f, speedBudget) }} {{ maxNLabel(f, speedBudget * speedK) }} {{ speedGrowth(f) }}

Con n el N crece tanto como la máquina; con 2ⁿ apenas se le suma un poco: el hardware no salva a un algoritmo exponencial.