欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 O 记号 | 常用的渐进上界 )

发布时间:2025/6/17 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 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 NnN , 则有 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(nNf(n)cg(n))


存在 N\rm NN , 使得任何 n\rm nn 并且 n≥N\rm n \geq NnN ,

∃N∀n(n≥N)\exist N \ \forall n ( n \geq N )N n(nN)

上述表述 , 表示 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(nNf(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 记号 | 常用的渐进上界 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。