算法平均時間復雜度計算公式
其中:
-
是規模為
的實例集
- 實例
的概率為
- 實例
的基本運算次數(也就是工作量)為
舉例:檢索問題,數組有
個元素,每個元素為從1到n的整數。若待檢索元素在
中(例如1,2,3,4,5),則比較次數為其本身。若待檢索元素位于
的空隙中(例如0.5,1.5,2.5),則比較次數為
,也就是從頭到尾比較一遍。若位于
和位于
的空隙的待檢索元素數量各占一半,檢索的平均時間復雜度是多少?
位于的情況:假設
在
的概率為
,則
在每個位置的概率為
,若
的值為
,則需要比較
次。平均時間復雜度為
位于的空隙的情況:
不在
的概率為
,每種情況都要比較
次,則該情況的平均時間復雜度為
綜上,結合等差數列求和公式有:
當,