美文网首页
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