基礎演算法篇之快速排序
阿新 • • 發佈:2021-12-20
每日一個演算法之快速排序
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)