如何计算时间复杂度
发布时间
阅读量:
阅读量
一、时间复杂度的定义是什么?
语句在算法中的执行频率指的是该语句被重复运行的次数。将算法中所有语句的执行频率相加,可以得到一个与问题规模n相关的函数T(n)。通过分析T(n)的数量级,即可得出时间复杂度。算法的运行时间与T(n)的数量级存在正比关系,但并非完全相等。通常将T(n)的数量级表示为O。
二、典型的时间复杂度排序方式
O(1) < O(\log {_{2}}n)<O(n)<O(n \log {_{2}}n)<O(n^{2})<O(n^{3})<O(2^{n})<O(n!)<O(n^{n})
三、关于时间复杂度计算的具体示例
首先来看具有O(1)时间复杂度的实例:
int i = 0;
int j = 1;
printf("%d",i+j);
为何上述代码的时间复杂度被归类为常数级别,我将采用一种个人认为更为直观的方式来解释。首先已提及,语句的频度指的是其被重复执行的次数,因此在此情形下,其复杂度表现为常数级。
接下来再分析一个O(

还没有任何评论哟~
