Texto y documentos
Números y cálculo
Datos y formatos
Seguridad
Desarrollo y DevOps
Inteligencia Artificial
Finanzas
Salud y bienestar
Productividad
Juegos y entretenimiento
Multimedia y diseño
Empresa
Guía de uso
Tu código, contado

Escribe una función sort(a) que ordene el array a en el sitio, o parte de una plantilla. Se ejecuta en tu navegador, aparte de la página y con un tope de 8 segundos, con arrays de 8 a 1024 elementos ya ordenados, al revés y aleatorios. No hay que tocar tu código para contar: cada vez que comparas dos elementos con <, > o restándolos, cuenta una comparación; cada a[i] es una lectura y cada a[i] = …, una escritura.

Cómo crece

Con los tamaños grandes, la tool prueba qué curva se ajusta mejor a tus recuentos: n, n log n o n², y con qué constante («≈ 0,5·n²»). Es una medida, no una demostración: un algoritmo puede parecer n log n en estos tamaños y no serlo.

Estabilidad

Una ordenación es estable si dos elementos con la misma clave quedan en el orden en que venían. La tool lo comprueba con un array lleno de claves repetidas que recuerdan su posición original.

Lo que no cuenta

Las comparaciones con === (no llaman a valueOf) y lo que hagas en arrays auxiliares, salvo cuando escribes de vuelta en a. Comparar un elemento con un número suelto cuenta media comparación.

AlgoritmosTu código contado, la tabla que se rellena y la poda a la vista
AlgoritmosTu código contado, la tabla que se rellena y la poda a la vista

Escribe tu ordenación (o parte de una plantilla) y mira cuánto trabaja de verdad: comparaciones, lecturas y escrituras, con arrays de 8 a 1024 elementos.

Tu código