更新时间:2022-08-26 10:26
常数时间又称常量时间,在计算复杂度理论中,常量时间是一种时间复杂度。
在计算复杂度理论中,常量时间是一种时间复杂度,它表示某个算法求出解答的时间在固定范围内,而不依照问题输入数据大小变化。
常量时间记为O(1)(采用大O符号)。数字1可以替换为任意常数。
在计算机科学中,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为n(必须比n0大)的输入,它至多需要5n3+ 3n的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。
为了计算时间复杂度,我们通常会估计算法的操作单元数量,每个单元运行的时间都是相同的。因此,总运行时间和算法的操作单元数量最多相差一个常量系数。
相同大小的不同输入值仍可能造成算法的运行时间不同,因此我们通常使用算法的最坏情况复杂度,记为T(n),定义为任何大小的输入n所需的最大运行时间。另一种较少使用的方法是平均情况复杂度,通常有特别指定才会使用。时间复杂度可以用函数T(n) 的自然特性加以分类,举例来说,有着T(n) =O(n) 的算法被称作“线性时间算法”;而T(n) =O(Mn) 和Mn= O(T(n)) ,其中M≥n> 1 的算法被称作“指数时间算法”。
举例: