3、间的计量便只是一个代数问题。接着,应用本节第三段所提供的Ο、Ω和θ等运算规则就可以分析出算法时间复杂性的渐近阶。因此,我们的时间计量规则只需要针对Pascal有限的几种基本运算和几种基本语句。下面是这些规则的罗列和必要的说明。规则(1)赋值、比较、算术运算、逻辑运算、读写单个常量或单个变量等,只需要1个单位时间。规则(2)条件语句"ifCthenS1elseS2"只需要Tc+max(Ts1,Ts2)的时间,其中Tc是计算条件表达式C需要的时间,而Ts1和Ts2分别是执行语句S1和S2需要的时间。规则(3)选择语句"Case A of a1:S1;a2:S2;…;am:Sm; en
6、then1 begin 在1到Size的范围内任选一个数赋值给t;θ(1) Size:=Size-t;2 forj:=l to t do S2θ(n) end; end; 程序在各行右端顶格处标注着执行相应各行所需要的时间。如果不对算法的内涵作较深入的考察,只看到1≤t≤Size≤m,就草率地估计while的内循环for的循环次数为Ο(m),那么,程序在最坏情况下的时间复杂性将被估计为Ο(n2+m·n2)。反之,如果对算法的内涵认真地分析,结果将两样。