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
- Encuentra el valor máximo del array.
- Crea un array de conteo de tamaño
max + 1inicializado en0. - Incrementa
conteo[valor]por cada elemento del array. - 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
exportal 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