如何實現快速排序算法

快速排序是由東尼·霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 算法更快,因爲它的內部循環(inner loop)可以在大部分的架構上很有效率地被實現出來。

快速排序算法的主要步驟:

1、從數列中挑出一個元素,作爲一個參照值,稱爲“基準”;

2、重新排列順序:所有元素挨個和基準值比較大小,比基準值小的擺放在基準前面,比基準值大的擺放在基準後面(與基準大小相同的可以放在任意一邊),等到所有值都和基準值對比完之後,第一輪排序就完成了。

3、以基準爲中心,分成左右兩片數列,將左右兩片當成兩個新的數列,再分別去重複前面兩個步驟排序(遞歸),直到分解到每個重新劃分的區域內都只有一個值,排序就算完成了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章