当前位置: 首页 > news >正文

第2章算法分析:其他渐进复杂度符号

2.4.4 拓展:其他渐进复杂度符号

1. 大 Ω\OmegaΩ 符号

算法复杂度的最好情况,即算法运行时间的下界。

如果存在正的常数 ccc 和函数 g(n)g(n)g(n) ,使得对于任何 n≫2n\gg2n2 都有 T(n)≥c⋅g(n)T(n)\ge c\cdot g(n)T(n)cg(n) ,就可以认为,在 nnn 足够大之后,g(n)g(n)g(n)T(n)T(n)T(n) 的一个下界。此时,记之为:

T(n)=Ω(g(n)) T(n)=\Omega(g(n)) T(n)=Ω(g(n))

这里的 Ω\OmegaΩ 称作大 Ω\OmegaΩ 符号。

与大 OOO 符号相反,大 Ω\OmegaΩ 符号是对算法执行效率的乐观估计——对于规模为 nnn 的任意输入,算法的运行时间都不低于 Ω(g(n))\Omega(g(n))Ω(g(n))

2. 大 Θ\ThetaΘ 符号

T(n)=O(f(n))T(n)=O(f(n))T(n)=O(f(n)) 说明 O(f(n))O(f(n))O(f(n)) 是时间复杂度的上界;T(n)=Ω(g(n))T(n)=\Omega(g(n))T(n)=Ω(g(n)) 说明 Ω(g(n))\Omega(g(n))Ω(g(n)) 是时间复杂度的下界,即 T(n)T(n)T(n) 介于二者之间。

如果存在正的常数 c1<c2c_1\lt c_2c1<c2 和函数 h(n)h(n)h(n) ,使得对于任何 n≫2n\gg2n2 都有 c1⋅h(n)≤T(n)≤c2⋅h(n)c_1\cdot h(n)\le T(n)\le c_2\cdot h(n)c1h(n)T(n)c2h(n) ,就可以认为在 nnn 足够大之后,h(n)h(n)h(n) 给出了 T(n)T(n)T(n) 的一个确界,记作:

T(n)=Θ(h(n)) T(n)=\Theta(h(n)) T(n)=Θ(h(n))

这里的 Θ\ThetaΘ 称作大 Θ\ThetaΘ 符号。它是对算法复杂度的准确估计——对于规模为 nnn 的任何输入,算法的运行时间 T(n)T(n)T(n) 都与 Θ(h(n))\Theta(h(n))Θ(h(n)) 同阶。

此外,还有“小 o 符号”,表示严格上界;“小 ω\omegaω 符号”,表示严格下界。

http://www.dtcms.com/a/313141.html

相关文章:

  • 免费非常好用的录屏软件,体积小
  • 【Java EE】Spring AOP
  • Gumbel-Softmax函数
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月3日第155弹
  • 数据与信息的边界:非法获取计算机信息系统数据罪的司法困境与出路
  • 【十九、Javaweb-day19-Linux概述】
  • python---可变类型、不可变类型
  • Pytorch 报错-probability tensor contains either ‘inf‘, ‘nan‘ or element < 0 解决方案
  • Arrays.asList() add方法报错java.lang.UnsupportedOperationException
  • 8月3日星期日今日早报简报微语报早读
  • 多线程(四) ~ wait,join,sleep及单例与工厂模式
  • 图像识别区分指定物品与其他物体
  • 【华为机试】815. 公交路线
  • NumPy库学习(三):numpy在人工智能数据处理的具体应用及方法
  • 机器学习sklearn:支持向量机svm
  • Vue3 其它Composition API
  • Linux网络编程 --- 多路转接select
  • 推送本地项目到Gitee远程仓库
  • Selenium Web 自动化
  • 优选算法 力扣 202.快乐数 快慢双指针 解决带环问题 C++解题思路 每日一题
  • ThinkPHP5x,struts2等框架靶场复现
  • Coin Combinations II(Dynamic Programming)
  • LLM - AI大模型应用集成协议三件套 MCP、A2A与AG-UI
  • 用 Eland 在 Elasticsearch Serverless 部署 Learning-to-Rank 排序模型
  • 数据,正在成为AI大模型最后的护城河
  • leetcode 2106. 摘水果 困难
  • Rust 同步方式访问 REST API 的完整指南
  • 道格拉斯-普克算法 - 把一堆复杂的线条变得简单,同时尽量保持原来的样子
  • python---赋值、浅拷贝、深拷贝
  • 【C 学习】03-你的第一个C程序