现在的位置: 首页 > 综合 > 正文

python 实现 计数排序 源代码

2013年09月12日 ⁄ 综合 ⁄ 共 275字 ⁄ 字号 评论关闭
def countingsort(A,k):
    C=[]
    j=0
    B=A[:]
    for j in range(0,k):
        C.append(0)
    for j in range(0,len(A)):
        C[A[j]]=C[A[j]]+1
    for j in range(1,k):
        C[j]=C[j]+C[j-1]
    for j in range (len(A)-1,-1,-1):
        B[C[A[j]]-1]=A[j]
        C[A[j]]=C[A[j]]-1
    return B

计数排序在一些特定条件(要求序列元素都是整数,且元素的最大值不能大于序列的长度)下使用, 时间复杂度 是 n

具有稳定性(等值的顺序就是输入的先后顺序)

抱歉!评论已关闭.