基数排序算法是基于数据的每一位来排序,基数排序也适用于正整数排序。正整数每一位都是从0~9, 这个顺序是天然的。因此可以利用这种自然的序列进行排序。在排序过程中,我们先看个位上的数的大小,然后逐渐往高位看。
基数排序的关键点:
举例说明一下基数排序的过程:
以数组61, 71, 14, 30, 18 为例
看一下python代码的实现过程:
def radix_sort(elements):
max_unit = len(str(max(elements)))
for i in range(max_unit):
buckets = [[] for i in range(10)]
for e in elements:
unit = int(e / 10 ** i % 10)
buckets[unit].append(e)
del elements[:]
for bucket in buckets:
for d in bucket:
elements.append(d)
if __name__ == '__main__':
arr = [61, 71, 14, 30, 18]
radix_sort(arr)
print(arr)
运行结果:
[14, 18, 30, 61, 71]
更多内容请关注:IT技术漫漫谈
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有