|Ordenamiento por conteoMaster
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 20:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Ordenamiento por conteo

Master100 pts·Algoritmos

Enunciado

Ordenamiento por conteo (Counting Sort)

Implementa el algoritmo de Counting Sort para ordenar un array de enteros no negativos de forma ascendente.

El Counting Sort es un algoritmo de ordenamiento de complejidad O(n + k), donde n es el número de elementos y k es el rango de valores. No hace comparaciones: en su lugar, cuenta las ocurrencias de cada valor y reconstruye el array ordenado.

Algoritmo

  1. Encuentra el valor máximo del array.
  2. Crea un array de conteo de tamaño max + 1 inicializado en 0.
  3. Incrementa conteo[valor] por cada elemento del array.
  4. Recorre el array de conteo y reconstruye el array ordenado.

Ejemplos

countingSort([4, 2, 2, 8, 3, 3, 1])
// [1, 2, 2, 3, 3, 4, 8]

countingSort([0, 5, 0, 3])
// [0, 0, 3, 5]

countingSort([1])
// [1]

Restricciones

  • El array solo contiene enteros no negativos.
  • Si el array está vacío, retorna [].
  • No puedes usar Array.prototype.sort() ni ningún método de ordenamiento nativo.
  • Complejidad esperada: O(n + k) en tiempo, O(k) en espacio auxiliar.
Restriccionesexpand_more
  • Dificultad: Master
  • Completa todos los test cases para obtener los 100 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar