实现范围为1~M的桶排序
对于数组A,包含N个整数,值从1到M,我们可以利用一种非常快速的排序,桶排序(bucket sort)。创建一个数组S,里面含有M个桶,初始化为0。然后遍历数组A,读入Ai时,S[Ai]增一。所有输入被读进后,扫描数组S得出排好序的表。该算法时间花费O(M+N),空间上不能原址排序。
#! /usr/bin/env python
#coding=utf-8
#范围是1~M的桶排序
import random
class bucketSort(object):
def sort(self,list):
_max=max(list)
_min=min(list)
#建立max-min+1个桶,将min~max区间的数都置为0
#每个桶代表的值分别为min,min+1,min+2,...,max
s=[0

本文介绍了如何使用Python实现桶排序算法,特别是在值范围为1~M的整数排序中。通过创建一个大小为M的数组S作为桶,根据输入数组A的元素将计数累加到对应的桶中。遍历完成后,扫描数组S即可得到排序结果。桶排序的时间复杂度为O(M+N),不适用于原址排序。以数组[5,3,6,1,2,7,5,10]为例,展示了具体的排序过程。"
9881753,1363407,进程和线程调度算法详解,"['操作系统', '并发处理', '调度算法', '多线程', '进程管理']
最低0.47元/天 解锁文章
930

被折叠的 条评论
为什么被折叠?



