李永乐 数学讲师
广受学生信赖的“线代王”
天任考研小编为大家整理了“24考研计算机知识:浅谈时间复杂度计算”相关内容,为报考计算机专业的考生们提供指导。更多有关计算机考研干货可关注考研备考栏目。
24考研计算机知识:浅谈时间复杂度计算
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作T(n)=O(f(n)),通常称为时间复杂度,其中O的形式定义为:若f(n)是正整数n的一个函数,则xn=O(f(n))表示存在一个正的常数M,使得当n≥n0时都满足|xn|≤M|f(n)|。
注意:基本操作是其重复执行的次数和算法的执行时间成正比的原操作,多数情况下它是深层循环内的语句中的原操作,它的执行次数和包含它的语句的频度是相同的。语句的频度指的是该语句重复执行的次数。
计算时间复杂度关键的基本操作。例如,在下列3个程序段中:
(1){++x; s=0;}
(2)for (i =1; i <=n; ++i){ ++x; s+=x;}
(3)for (j =1; j<=n; ++j)
for (k =1; k<=n; ++k) { ++x; s+=x;}
含基本操作“x增1”的语句的频度分别为1、n和n2,则这3个程序段的时间复杂度分别为O(1)、O(n)和O(n2)。算法还可能呈现的时间复杂度有对数阶O(log2n)、指数阶O(2n)等