基础算法篇之快速排序

每日一个算法之快速排序

 

   1  算法原理

 

      快排的原理实际上是对冒泡算法的一种改良,大致的过程的是这样的,对于一组数列,选取其中一个作为对比对象,一般将第一个作为比较对象,大于这个数据的放在右边,小于这个的放在左边,之后左边和右边又分别组成一个数据,

      这样就完成了一波排序,之后再对左边和右边的数列进行刚才的排列,直到完成所有的数据排序,如此就完成了该数组的排序过程

 

 

  2 代码实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 快排算法
def quietSort(List):
    if len(List) < 2:
        return List
    centerNum = List[0]
    LessList = [sub for sub in List if sub < centerNum]
    GreatList = [sub for sub in List if sub > centerNum]
    return quietSort(LessList) + [centerNum] + quietSort(GreatList)


if __name__ == '__main__':
    res = quietSort([2, 4, 1, 3, 8, 7, 5, 9, 123, 23423, 23])
    print(res)

 

posted @ 2021-12-20 14:34  伊铭(netease)  阅读(23)  评论(0编辑  收藏  举报