樞紐元的選擇需要結合待排序數據的具體形態而定,如數據是否排序,是逆序還是正序等,下表對各種數據形態下的樞紐元選擇進行了總結。
不同數據形態下樞紐元的選擇對比
首元素 | 前兩個互異關鍵字中的較大者 | 隨機元素 | 所有關鍵字的平均值 | |
正序排序 |
退化爲簡單排序算法 |
退化爲簡單排序算法 |
退化爲簡單排序算法 |
樞紐元近似位於中間,一次遞歸數據對半分 |
反序排序 |
樞紐元近似位於中間,一次遞歸數據對半分 |
|||
隨機排列 |
退化爲簡單排序算法 |
退化爲簡單排序算法 |
退化爲簡單排序算法 |
樞紐元近似位於中間,一次遞歸數據對半分 |
注1:表中所有複雜度的值均是按照最壞情況給出。
注2:複雜度前綴分數表示實際運行時間要略少於該複雜度的值。
注3:所有時間複雜度均按最壞情況給出。
注4:對於反序排,,其每輪遞歸的計算量遵循 N-1,1, N-3,1,N-5,1,......。
注5:對所有關鍵字取平均往往以3數中值或5數中值法替代。