Python Ordenamiento por conteo
El núcleo del ordenamiento por conteo es convertir los valores de los datos de entrada en claves almacenadas en un espacio de matriz adicional. Como un ordenamiento de complejidad de tiempo lineal, el ordenamiento por conteo requiere que los datos de entrada sean números enteros con un rango definido.
Ejemplo
def countSort(arr):
output = [0 for i in range(256)]
count = [0 for i in range(256)]
ans = ["" for _ in arr]
for i in arr:
count[ord(i)] += 1
for i in range(256):
count[i] += count[i-1]
for i in range(len(arr)):
output[count[ord(arr[i])]-1] = arr[i]
count[ord(arr[i])] -= 1
for i in range(len(arr)):
ans[i] = output[i]
return ans
arr = "wwwejemplocom"
ans = countSort(arr)
print ( "Ordenar matriz de caracteres %s" %("".join(ans)) )
Al ejecutar el código anterior, el resultado es:
符数组排序 bcmnoooruwwwOtras extensiones
Ejemplo de Python3