1. 程式人生 > >基於比較的排序,時間複雜度下界是o(nlogn)的小證明

基於比較的排序,時間複雜度下界是o(nlogn)的小證明

原因:

對於n個待排序元素,在未比較時,可能的正確結果有n!種。

在經過一次比較後,其中兩個元素的順序被確定,所以可能的正確結果剩餘n!/2種。

依次類推,直到經過m次比較,剩餘可能性n!/(2^m)種。

直到n!/(2^m)<=1時,結果只剩餘一種。此時的比較次數m為o(nlogn)次。

所以基於排序的比較演算法,最優情況下,複雜度是o(nlogn)的。