当前位置:首页 » 操作系统 » 算法并列

算法并列

发布时间: 2023-11-22 15:26:47

1. 如何计算一个算法的时间复杂度

求解算法的时间复杂度的具体步骤是: ⑴找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 ⑵计算基本语句的执行次数的数量级; 只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所有低次幂和最高次幂的系数。这样能够简化算法分析,并且使注意力集中在最重要的一点上:增长率。 ⑶用大Ο记号表示算法的时间性能。 将基本语句执行次数的数量级放入大Ο记号中。 如果算法中包含嵌套的循环,则基本语句通常是最内层的循环体,如果算法中包含并列的循环,则将并列循环的时间复杂度相加。例如: for(i=1;i<=n;i++)x++;for(i=1;i<=n;i++) for(j=1;j<=n;j++)x++;第一个for循环的时间复杂度为Ο(n),第二个for循环的时间复杂度为Ο(n2),则整个算法的时间复杂度为Ο(n+n2)=Ο(n2)。 常见的算法时间复杂度由小到大依次为: Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!)Ο(1)表示基本语句的执行次数是一个常数,一般来说,只要算法中不存在循环语句,其时间复杂度就是Ο(1)。Ο(log2n)、Ο(n)、Ο(nlog2n)、Ο(n2)和Ο(n3)称为多项式时间,而Ο(2n)和Ο(n!)称为指数时间。计算机科学家普遍认为前者是有效算法,把这类问题称为P类问题,而把后者称为NP问题。 这只能基本的计算时间复杂度,具体的运行还会与硬件有关。

热点内容
安卓哪个娃娃 发布:2025-07-13 15:35:52 浏览:140
服务器列表格式错误什么意思 发布:2025-07-13 15:33:05 浏览:169
lol脚本有哪些 发布:2025-07-13 15:10:28 浏览:164
lol怎么上传囧图 发布:2025-07-13 15:09:40 浏览:89
c语言火车售票系统 发布:2025-07-13 15:06:55 浏览:390
用什么缓存视频 发布:2025-07-13 14:52:27 浏览:360
GTA5mods文件夹 发布:2025-07-13 14:52:27 浏览:53
如何在本地搭建svn服务器地址 发布:2025-07-13 14:52:26 浏览:964
手动编程教程 发布:2025-07-13 14:52:17 浏览:378
编程要求学历 发布:2025-07-13 14:50:40 浏览:186