1. 程式人生 > 其它 >基礎演算法篇之快速排序

基礎演算法篇之快速排序

每日一個演算法之快速排序

   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)