Python教程

python快速排序

本文主要是介绍python快速排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#快速排序
def quicksort(lists,i,j):
    while i>j:
        return list
    proivt=lists[i]
    low=i
    high=j
    while i<j:
        while i<j and lists[j]>=proivt:
            j-=1
        lists[i]=lists[j]
        while i<j and lists[i]<=proivt:
            i+=1
        lists[j]=lists[i]
    lists[j]=proivt
    quicksort(lists,low,i-1)
    quicksort(lists,i+1,high)
    return lists

if __name__=="__main__":
    lists=[55,66,22,44,88,33,11,45,12,65]
    print('排序前')
    for i in lists:
        print(i,end=' ')
    print('\n排序后')
    for i in quicksort(lists,0,len(lists)-1):
        print(i,end=' ')
#最好的时间复杂度为:O(nlogn),最坏的时间复杂度为: O(n²)
#平均时间复杂度为:O(nlogn)
#平均空间复杂度为:O(logn)
这篇关于python快速排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!