算法平均时间复杂度计算公式
其中:
- 是规模为的实例集
- 实例的概率为
- 实例的基本运算次数(也就是工作量)为
举例:检索问题,数组有个元素,每个元素为从1到n的整数。若待检索元素在中(例如1,2,3,4,5),则比较次数为其本身。若待检索元素位于的空隙中(例如0.5,1.5,2.5),则比较次数为,也就是从头到尾比较一遍。若位于和位于的空隙的待检索元素数量各占一半,检索的平均时间复杂度是多少?
位于的情况:假设在的概率为,则在每个位置的概率为,若的值为,则需要比较次。平均时间复杂度为
位于的空隙的情况:不在的概率为,每种情况都要比较次,则该情况的平均时间复杂度为
综上,结合等差数列求和公式有:
当,
网友评论