计数排序与桶排序python实现
计数排序
计数排序原理:
找到给定序列的最小值与最大值
创建一个长度为最大值-最小值+1的数组,初始化都为0
然后遍历原序列,并为数组中索引为当前值-最小值的值...计数排序实现
下面为列表的计数排序
def count_sort(s):
"""计数排序"""
# 找到最大最小值
min_num = min(s)
max_num =...当数值中有非整数时,计数数组的索引无法分配
桶排序
桶排序原理:
桶排序与计数排序类似,但可以解决非整数的排序
桶排序相当于把计数数组划分为按顺序的几个部分
每一部分叫做一个桶,它来存放处于该范围内的数...桶排序实现
这里选择桶的数量为序列元素个数+1,范围分别是5等分与最大值,和上面那个图一样。...main__':
a = [3.2,6,8,4,2,6,7,3]
bucket_sort(a)
print(a) # [2, 3, 3.2, 4, 6, 6, 7, 8]
总结
计数排序与桶排序都是以牺牲空间换时间