一个算法的时间复杂度为(2n3+3n+7)/n ,其数量级表示为

如题所述

一个算法的时间复杂度为(2n3+3n+7)/n,其数量级表示为O(n)。

时间复杂度简介:

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数。

时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。

算法复杂度:

算法复杂度分为时间复杂度和空间复杂度。其作用是时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。算法的复杂性体现在运行该算法时的计算机所需资源的多少上。

计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度。

时间复杂度的分类及应用:

1、分类:

按数量级递增排列,常见的时间复杂度有常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n^2),立方阶O(n^3),k次方阶O(n^k),指数阶O(2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

一个算法所耗费的时间=算法中每条语句的执行时间之和每条语。句的执行时间=语句的执行次数(即频度(Frequency Count))×语句执行一次所需时间。

2、应用:

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。

并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。

温馨提示:答案为网友推荐,仅供参考
相似回答