En un nivel alto, la clasificación de cubetas clasifica cada cubeta y luego combina las cubetas en una matriz ordenada. Entonces, hay 2 pasos:
- Ordenar un cubo individual
- Combinando los cubos ordenados
El paso 2 se logra mejor agregando los cubos ordenados, es decir, los cubos deben contener una entrada no superpuesta. Por ejemplo, si está ordenando números enteros, los cubos pueden ser enteros en el rango 1–100, 101–200, 201–300, etc. Esto garantiza que los cubos ordenados se puedan agregar para obtener una lista ordenada.
Se puede usar cualquier algoritmo para ordenar un cubo individual. Para los números con un rango limitado en cada segmento, contar con clasificación es un buen algoritmo: contar la frecuencia de cada número en una pasada y escribir la matriz ordenada en otra pasada.
- Cómo escanear una lista de números en una sola línea separada con un espacio y agregarlos a una lista en Python
- ¿Hay algún libro que tenga todos los códigos para todas las estructuras de datos? ¿Al menos para todas las estructuras de datos de árbol?
- ¿Existe algún enlace de los algoritmos o técnicas más utilizados en la programación competitiva?
- C: ¿Existe un enfoque general para convertir una función recursiva en iterativa y viceversa?
- ¿Cómo funciona el algoritmo de estimulación del presupuesto publicitario de Facebook?
Para cadenas, la ordenación rápida es una buena opción.