Python Ordenamiento por conteo

Document 对象参考手册Ejemplo de Python3

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:

符数组排序 bcmnoooruwww

Document 对象参考手册Ejemplo de Python3

Otras extensiones