计数排序: 计数排序是一种非比较排序,其核心是将序列中的元素作为键存储在额外的数组空间中,而该元素的个数作为值存储在数组空间中,通过遍历该数组排序。
时间复杂度 O(n)
空间复杂度 O(n)
def count_sort(data_list, max_count=100):
count = [0 for _ in range(max_count + 1)]
for val in data_list:
count[val] += 1
data_list.clear()
for i, v in enumerate(count):
for j in range(v):
data_list.append(i)
import random
li = [random.randint(1, 100) for i in range(100)]
random.shuffle(li)
print(li)
count_sort(li)
print(li)