【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 O 记号 | 常用的渐进上界 )
文章目录
- 一、渐进上界
- 二、大 O 记号
- 三、常用的渐进上界
一、渐进上界
g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 的渐进上界 :
存在 c\rm cc , 并且存在 N\rm NN , 使得任何 n\rm nn , 并且 n≥N\rm n \geq Nn≥N , 则有 f(n)≤cg(n)\rm f(n) \leq cg(n)f(n)≤cg(n) ,
则称 g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 的渐进上界 ;
符号化表示 :
∃c>0∃N∀n(n≥N⇒f(n)≤cg(n))\rm \exist c > 0 \ \exist N \ \forall n ( n \geq N \Rightarrow f(n) \leq cg(n) )∃c>0 ∃N ∀n(n≥N⇒f(n)≤cg(n))
存在 N\rm NN , 使得任何 n\rm nn 并且 n≥N\rm n \geq Nn≥N ,
∃N∀n(n≥N)\exist N \ \forall n ( n \geq N )∃N ∀n(n≥N)
上述表述 , 表示 当 n\rm nn 充分大 ;
∃N∀n(n≥N⇒f(n)≤cg(n))\rm \exist N \ \forall n ( n \geq N \Rightarrow f(n) \leq cg(n) )∃N ∀n(n≥N⇒f(n)≤cg(n)) 整体的含义如下 ,
尽管 f(n)\rm f(n)f(n) 不一定小于等于 cg(n)\rm cg(n)cg(n) , 当 n\rm nn 充分大时 , 一定有 f(n)≤cg(n)\rm f(n) \leq cg(n)f(n)≤cg(n) , 这是一个趋势 ,
称 g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 的渐进上界 ;
在渐近分析中 , 常数 c\rm cc 一般忽略不计 , 其大小是 2,32 , 32,3 或者几亿 都不重要 ;
二、大 O 记号
f(n)=O(g(n))\rm f(n) = O(g(n))f(n)=O(g(n))
三、常用的渐进上界
多项式上界 : nc\rm n^cnc , 如 :
① n2=O(n2)\rm n^2 = O(n^2)n2=O(n2)
② 3n2+2n+1=O(n2)\rm 3n^2 + 2n + 1 = O(n^2)3n2+2n+1=O(n2) , 忽略低阶项 , 系数项 ;
③ 4n3+2n2+n+3=O(n3)\rm 4n^3 + 2n^2 + n + 3 = O(n^3)4n3+2n2+n+3=O(n3) , 忽略低阶项 , 系数项 ;
指数级上界 : 2nc\rm 2^{n^c}2nc , 如 :
① logn=O(nx)(x>0)\rm log n = O(n^x) \ (x > 0)logn=O(nx) (x>0)
大 O\rm OO 记号运算 :
O(n)+O(n2)=O(n2)\rm O(n) + O(n^2) = O(n^2)O(n)+O(n2)=O(n2) , 忽略低阶项 ;
渐进上界表示符号会 忽略系数影响 , 忽略低阶的项 ;
总结
以上是生活随笔为你收集整理的【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 O 记号 | 常用的渐进上界 )的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【计算理论】计算复杂性 ( 时间复杂度时
- 下一篇: 【计算理论】计算复杂性 ( 小 O 记号