首页 > 编程语言 > 详细

快排算法的深入理解

时间:2019-12-26 13:17:42      阅读:86      评论:0      收藏:0      [点我收藏+]

简述

  给每组数分成小、中、大 三种,利用递归思想进行排序。时间复杂度是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

图解

技术分享图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

技术分享图片

快排算法的深入理解

原文:https://www.cnblogs.com/wangdadada/p/12101277.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!