美文网首页
Python初体验-快排

Python初体验-快排

作者: 放肆的Rendering | 来源:发表于2018-02-21 23:51 被阅读11次
    • 快排是分治法
    • 复杂度O(nlogn)
    • 关键点为划分数组
    def quickSort(arr):
        ''' 快排 '''
        # 递归出口
        if len(arr) <= 1:
            return arr
    
        # 随机化
        point = random.randint(0, len(arr) - 1)
    
        # 分组数组
        lowArr, highArr = [], []
    
        # 分组
        for value in arr:
            (lowArr.append(value)
             if value < arr[point]
             else highArr.append(value))
    
        # 分组相加
        return quickSort(lowArr) + quickSort(highArr)
    

    相关文章

      网友评论

          本文标题:Python初体验-快排

          本文链接:https://www.haomeiwen.com/subject/jdhatftx.html