快排算法的深入理解

简述

  给每组数分成小、中、大 三种,利用递归思想进行排序。时间复杂度是n*log2n  (log2n代表2的多少次方等于n),其中log2n代表组数、n*log2n代表所有数的对换次数所用的时间。

实例说明

代码:

def kuaiPai(num):

    da,zhong,xiao=[],[],[]

    if len(num)<=1:

        return num

    pivo=num[0]

    for i in range(len(num)):

        if i>num[0]:

            da.append(i)

        elif i<num[0]:

            xiao.append(i)

        else:

            zhong.append(i)

    less=kuaiPai(xiao)

    more =kuaiPai(da)

    return less+zhong+more

图解

猜你喜欢

转载自www.cnblogs.com/wangdadada/p/12101277.html