快速排序--Python实现

快速排序算法:
1、选择一个基准数
2、小于基准数的放左边,大于基准数的放右边
3、利用递归的方法针对左边的数据进行快速排序,再对右边的数据进行快速排序
4、递归停止的条件:数组为空或者只有一个元素

时间复杂度为:O(nlogn),远小于选择排序

def quick_sort(list):
    if(len(list) < 2):
        return list
    else:
        base = list[0]
        less = [i for i in list[1:] if i <= base]
        greater = [i for i in list[1:] if i > base]
        return quick_sort(less) + [base] + quick_sort(greater)

if __name__ == "__main__":
    list = [32, 13, 28, 5, 23, 56, 12, 78, 34]
    result = quick_sort(list)
    print(result)

猜你喜欢

转载自www.cnblogs.com/fredkeke/p/9232204.html