目前,我正在攻讀計算機科學課程的期末考試。其中一個問題就是如何結合運行時間的問題,所以我舉一個例子。需要幫助學習跑步時間
我想知道,如果我創建了一個程序,使用插入排序對輸入進行預處理,然後使用二進制搜索搜索值「X」,我將如何組合運行時間來查找最佳,最差和平均情況整體計劃的時間複雜性?
例如...
插入排序
最壞情況爲O(n^2)
最佳案例爲O(n)
平均情況爲O(n^2)
二進制搜索 最壞情況Ø (logn)時間
最佳案例O(1)
平均情況O(logn)時間
會最壞的情況下是爲O(n^2 + logn)時間,或者這將是爲O(n^2),或都不是?
最好的情況是O(n)嗎?
平均情況是O(nlogn),O(n + logn),O(logn),O(n^2 + logn)還是沒有一個?
我傾向於過度思考解決方案,所以如果我可以得到任何關於組合運行時間的指導,將不勝感激。
非常感謝。
也許另一個角度幫助:http://eternallyconfuzzled.com/arts/jsw_art_bigo.aspx – sehe 2011-04-22 20:42:20