O(big-Oh):
描述算法時間復雜度用的最普遍的符號。它是漸進上界,其作用是將我們得到的算法在最壞情況下(worst case)時間復雜度表達式簡化成對應的多項式(比如n^2等)。所以在我們證明的過程中,目的是證明我們的式子要“小於等於”目標多項式。
Ω(big-Omega):
這個符號我們一般用的比較少,一個是因為我們一般不會去考慮算法運行時間的下界,另一個是因為下界時間也不好證明。沒錯,他就是漸進下界,其作用是將我們得到的算法在最好情況下(best case)時間復雜度表達式簡化成對應的多項式(也比如n^2等)。所以在我們證明的過程中,目的是證明我們的式子要“大於等於”目標多項式。
Θ(big-theta):
如果O和Ω可以用同一個多項式表示,那么這個多項式就是我們所要求的漸進緊的界了。其作用是將我們可以較准確地得到算法的時間復雜度表達式對應的多項式(也比如n^2等)。所以在我們證明的過程中,目的是證明我們的式子要“等於”目標多項式。
Family of Bachmann–Landau notations
參考: