一个算法的“运行工作量”的大小,只依赖于问题的规模(n),或者说是问题规模n的函数。
一个算法的构成:控制结构(顺序,分支(if),循环(for)3种)和元操作。
比较算法的效率的做法:从算法中选取一种对所研究问题来说是基本操作的元操作,以该基本操作重复执行的次数作为算法的时间度量。一般情况下,算法中基本操作(元操作)重复的次数使问题规模n的某个函数f(n),算法的时间度量记作:T(n)= O (f(n)),表示算法的时间复杂度同f(n)的数量级相同。称T(n)为算法的渐进时间复杂度,简称时间复杂度。一般讨论的是最坏情况下的时间复杂度。
常用的时间复杂度有:O(1)常数阶;O(n)线性阶;O(logn)对数阶;O(n2)多项式阶;O(2n)指数阶。