基数排序

  1. 基数排序

基数排序

  • 定义:
    • 基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。(On*k)
  • 代码实现
1
2
3
4
5
6
7
8
9
10
11
12
#基于桶排序的基数排序
def radixSort(list):
d = len(str(max(list)))
for k in range(d):#d轮排序
s=[[] for i in range(10)]#因为每一位数字都是0~9,故建立10个桶
for i in list:
s[int(i/(10**k)%10)].append(i)
list=[j for i in s for j in i]
return list

nums = [5, 6, 3, 2, 1, 2, 0, 8, 0, 65]
print(radixSort(nums))

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com

×

喜欢就点赞,疼爱就打赏