桶排序在电脑怎么算

发布时间: 2023-04-17 03:06 阅读: 文章来源:转载

桶排序的思想:

1.根据输入建立适当个数的桶,每个桶可以存放某个范围内的元素;

2.将落在特定范围内的所有元素放入对应的桶中;

3.对每个非空的桶中元素进行排序,可以选择通用的排序方法,比如插入、快排;

4.按照划分的范围顺序,将桶中的元素依次取出。排序完成。

代码实现如下:

def ToBucketIndex(value, max_data, length): return (value * length) // (max_data + 1)def BucketSort(array): length = len(array) max_data = max(array) temp = [[] for i in range(length)] result = [] for i in range(length): index = ToBucketIndex(array[i], max_data, length) temp[index].append(array[i]) for i in range(len(temp)): temp[i].sort() result.extend(temp[i]) return resultif __name__ == ‘__main__‘: array = [6, 4, 8, 1, 2, 3, 9, 10000, 0, 9] print(BucketSort(array))

我是一名程序媛,请大家关注我哦!

•••展开全文
相关文章