作用:
漸進最優是用以評價算法的效率
定義:
如果已經證實一個問題需要使用Ω(f(n))的資源來解決,而某個算法用O(f(n))的資源來解決這個問題,則該算法就是漸進最優的。
解釋:
(1) O符號表示函數在增長到一定程度時總小於一個特定函數的常數倍,大Ω符號則表示總大於。
(2) 用數學語言描述即是:
的含義爲:
若存在 使得:對於所有.
(3) 大Ω符號與大O符號正好相反,即:
漸進最優的例子包括數據結構動態數組[1],能夠在常數時間內索引,但性能在多數機器上不如普通數組的索引。另外,在所有基於比較的排序算法中,歸併排序和堆排序是漸進最優的,說到漸進這些算法是依賴於n的,並且忽略常數因子,這些算法隨n的遞增趨於最優。所以在基於比較的排序算法中,它們都是漸進最優的,它們只比較較少的次數,它們的運行時間主要受比較次數的影響,都是O(nlgn)。