2013-03-04 58 views
2

我有兩種操作的算法。第一次運行的運行時間是O(n),第二次運行的運行時間是O(log n)。在這種情況下,完整算法的運行時間是多少?它會是O(n)還是O(n)+ O(log n)?有兩種不同操作的算法運行時間

回答

7

O(n + log(n)) = O(n)

你的時間複雜度將是O(n)的

http://en.wikipedia.org/wiki/Big_O_notation

+0

Sh * t,我發誓我在那裏看到了nlogn ... – ppeterka 2013-03-04 14:54:09

+0

你用大O符號太亂了。雖然答案是正確的,但問題是關於「O(n)+ O(logn)」,而不是關於「O(n + logn)」。這很微妙,但可以是重要的 – SomeWittyUsername 2013-03-04 14:55:55

+0

我可能會說錯誤,但正如在維基文章中所說:如果f1是'O(g1)'而f2是'O(g2)',那麼f1 + f2是'O(| g1 | + | G2 |)'。 – Fitz 2013-03-04 14:59:05