不调用其他模块用python实现LSD算法
时间: 2024-05-04 07:22:41 浏览: 79
LD算法的python实现
5星 · 资源好评率100%
LSD算法(Least Significant Digit)是一种基数排序算法,可以用于对数字进行排序。下面是一个简单的Python实现:
```python
def LSD_sort(arr):
max_len = len(str(max(arr))) # 最大数字的位数
for i in range(max_len):
buckets = [[] for _ in range(10)] # 桶
for num in arr:
digit = (num // 10 ** i) % 10 # 获取数字的第i位
buckets[digit].append(num)
arr = [num for bucket in buckets for num in bucket] # 把桶里的数字按顺序放回原数组
return arr
```
这个算法首先获取最大数字的位数,然后从低位到高位依次对数字进行排序。在每个位上,它将数字分配到不同的桶中,然后按顺序将桶中的数字放回原数组。这样,经过多次排序,最终得到的数组就是有序的。
阅读全文