Algorithm

Big O/Ω/Θ

https://stackoverflow.com/questions/471199/what-is-the-difference-between-%ce%98n-and-on/471206#471206
O(n) represents upper bound. Θ(n) means tight bound. Ω(n) represents lower bound.
算法计算后肯定是一个函数曲线
O是严格上限界,Ω是严格下限界,Θ是确界(函数曲线界);
对应可确认的最差趋势情况,可确认的最优趋势情况,可确认的准确趋势情况;
所以之所以都是用大 O 表示法,是因为一个算法肯定要确认他的最差增长趋势情况,往往不需要确认最优情况。
例子:
为什么见周围人描述算法复杂度都用大 O 符号而不是大 Θ? - 杨个毛的回答 - 知乎 https://www.zhihu.com/question/20677334/answer/132984988
image.png
所以理论上,只有Θ是代表准确界(或者叫曲线),往往在真实的算法中是比较难推导的,O/Ω都用于表示限制界的一个极值,所以通常用 O 来表示最差情况,来评价一个算法。