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

简介: 【计算理论】计算复杂性 ( 算法复杂度标记 | 渐进上界 | 大 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 ) ≤ c g ( 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 ) ≤ c g ( 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 ) ≤ c g ( 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) 不一定小于等于 c g ( n ) \rm cg(n)cg(n) , 当 n \rm nn 充分大时 , 一定有 f ( n ) ≤ c g ( 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 , 3 2 , 32,3 或者几亿 都不重要 ;






二、大 O 记号


f ( n ) = O ( g ( n ) ) \rm f(n) = O(g(n))f(n)=O(g(n))






三、常用的渐进上界


多项式上界 : n c \rm n^cn

c

 , 如 :


① n 2 = O ( n 2 ) \rm n^2 = O(n^2)n

2

=O(n

2

)


② 3 n 2 + 2 n + 1 = O ( n 2 ) \rm 3n^2 + 2n + 1 = O(n^2)3n

2

+2n+1=O(n

2

) , 忽略低阶项 , 系数项 ;


③ 4 n 3 + 2 n 2 + n + 3 = O ( n 3 ) \rm 4n^3 + 2n^2 + n + 3 = O(n^3)4n

3

+2n

2

+n+3=O(n

3

) , 忽略低阶项 , 系数项 ;



指数级上界 : 2 n c \rm 2^{n^c}2

n

c

 , 如 :


① l o g n = O ( n x )   ( x > 0 ) \rm log n = O(n^x) \ (x > 0)logn=O(n

x

) (x>0)



大 O \rm OO 记号运算 :


O ( n ) + O ( n 2 ) = O ( n 2 ) \rm O(n) + O(n^2) = O(n^2)O(n)+O(n

2

)=O(n

2

) , 忽略低阶项 ;



渐进上界表示符号会 忽略系数影响 , 忽略低阶的项 ;



目录
相关文章
|
12月前
|
算法 机器人
基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真
本课题研究基于海鸥优化算法(SOA)优化PID控制器参数的方法,通过MATLAB仿真对比传统PID控制效果。利用SOA算法优化PID的kp、ki、kd参数,以积分绝对误差(IAE)为适应度函数,提升系统响应速度与稳定性。仿真结果表明,SOA优化的PID控制器在阶跃响应和误差控制方面均优于传统方法,具有更快的收敛速度和更强的全局寻优能力,适用于复杂系统的参数整定。
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
521 0
|
算法 数据安全/隐私保护
基于Big-Bang-Big-Crunch(BBBC)算法的目标函数最小值计算matlab仿真
该程序基于Big-Bang-Big-Crunch (BBBC)算法,在MATLAB2022A中实现目标函数最小值的计算与仿真。通过模拟宇宙大爆炸和大收缩过程,算法在解空间中搜索最优解。程序初始化随机解集,经过扩张和收缩阶段逐步逼近全局最优解,并记录每次迭代的最佳适应度。最终输出最佳解及其对应的目标函数最小值,并绘制收敛曲线展示优化过程。 核心代码实现了主循环、粒子位置更新、适应度评估及最优解更新等功能。程序运行后无水印,提供清晰的结果展示。
390 14
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
523 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
存储 算法 Java
【JVM】垃圾释放方式:标记-清除、复制算法、标记-整理、分代回收
【JVM】垃圾释放方式:标记-清除、复制算法、标记-整理、分代回收
584 2
|
算法 数据可视化 数据安全/隐私保护
基于LK光流提取算法的图像序列晃动程度计算matlab仿真
该算法基于Lucas-Kanade光流方法,用于计算图像序列的晃动程度。通过计算相邻帧间的光流场并定义晃动程度指标(如RMS),可量化图像晃动。此版本适用于Matlab 2022a,提供详细中文注释与操作视频。完整代码无水印。
|
算法 Go Python
[算法]计算斐波拉契数列
[算法]计算斐波拉契数列
230 2
|
算法 C++
如何精确计算出一个算法的CPU运行时间?
如何精确计算出一个算法的CPU运行时间?
|
算法
计算空间物体包围球的两种算法实现
计算空间物体包围球的两种算法实现
325 0

热门文章

最新文章