【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 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 记号