时间复杂度符号


五种符号:

\(Θ\),读音:\(theta\)、西塔;既是上界也是下界(\(tight\)),等于的意思。

\(O\),读音:\(big-oh\)、欧米可荣(大写);表示上界(\(tightness\;unknown\)),小于等于的意思。

\(ο\),读音:\(small-oh\)、欧米可荣(小写);表示上界(\(not\;tight\)),小于的意思。

\(Ω\),读音:\(big\;omega\)、欧米伽(大写);表示下界(\(tightness\;unknown\)),大于等于的意思。

\(ω\),读音:\(small\;omega\)、欧米伽(小写);表示下界(\(not\;tight\)),大于的意思。


解释:

\(O\)符号(英语:\(Big\;O\;notation\))是用于描述函数渐近行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。

\(Ω\)符号的定义与大\(O\)符号的定义类似,但主要区别是,大\(O\)符号表示函数在增长到一定程度时总小于一个特定函数的常数倍,大\(Ω\)符号则表示总大于,来描述一个函数数量级的渐近下界。

\(Θ\)符号是大\(O\)符号和大\(Ω\)符号的结合。下面给出具体的数学定义:

函数\(f(n)\)代表某一算法在输入大小为\(n\)的情况下的工作量(效率),则在\(n\)趋向很大的时候,我们将\(f(n)\)与另一行为已知的函数\(g(n)\)进行比较:

  1. 如果\(\lim\;\dfrac{f(n)}{g(n)}=0\),则称\(f(n)\)在数量级上严格小于\(g(n)\),记为\(f(n)=ο(g(n))\)

  2. 如果\(\lim\;\dfrac{f(n)}{g(n)}=\infty\),则称\(f(n)\)在数量级上严格大于\(g(n)\),记为\(f(n)=ω(g(n))\)

  3. 如果\(\lim\;\dfrac{f(n)}{g(n)}=c\),这里\(c\)为非\(0\)常数,则称\(f(n)\)在数量级上等于\(g(n)\),即\(f(n)\)\(g(n)\)是同一个数量级的函数,记为\(f(n)=Θ(g(n))\)

  4. 如果\(f(n)\)在数量级上小于或等于\(g(n)\),则记为\(f(n)=O(g(n))\)

  5. 如果\(f(n)\)在数量级上大于或等于\(g(n)\),则记为\(f(n)=Ω(g(n))\)

\(O\)\(Ω\)都是存在\(c\),小\(o\)\(ω\)都是任意\(c\)


posted @ 2020-03-12 16:17  Jijidawang  阅读(2395)  评论(1编辑  收藏  举报
😅​