Python 計數排序

Document 對象參考手冊 Python3 實例

計數排序的核心在於將輸入的數據值轉化為鍵存儲在額外開闢的數組空間中。作為一種線性時間複雜度的排序,計數排序要求輸入的數據必須是有確定範圍的整數。

實例

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 = "wwwzaixiancom" ans = countSort(arr) print ( "字元數組排序 %s" %("".join(ans)) )

執行以上代碼輸出結果為:

符數組排序 bcmnoooruwww

Document 對象參考手冊 Python3 實例