算法中基本语句重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作:T(n)=O(f(n))。
n越大算法的时间越长
排序:n为记录数
矩阵:n为矩阵的阶数
多项式:n为多项式的项数
集合:n为元素个数
树:n为树的结点个数
图:n为图的顶点数或边数
忽略所有低次幂项和最高次幂系数,体现出增长率的含义。
时间复杂度是由嵌套最深层语句的频度决定的。
算法时间复杂度分析例题:
关键是要找出来执行次数X与n的关系,并表示成n的函数
若循环执行1次:i=1*2=2,
若循环执行2次:i=2*2=2的2次方,
若循环执行3次:i=2*2=2的3次方,
若循环执行x次:i=2的x次方。
设语句执行次数为x次,由循环条件i<=n,所以