Python Counting Sort

Document 对象参考手册Python3-Beispiele

Der Kern von Counting Sort besteht darin, die Werte der Eingabedaten in Schlüssel umzuwandeln und sie in einem zusätzlichen Array-Speicher abzulegen. Als Sortierverfahren mit linearer Zeitkomplexität setzt Counting Sort voraus, dass es sich bei den Eingabedaten um ganze Zahlen mit einem festen Wertebereich handeln muss.

Beispiel

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 = "wwwexamplecom" ans = countSort(arr) print ( "Sortiertes Zeichenarray: %s" %("".join(ans)) )

Die Ausgabe nach Ausführung des obigen Codes ist:

符数组排序 bcmnoooruwww

Document 对象参考手册Python3-Beispiele

Weitere Erweiterungen