我很難確定算法中每個步驟的執行時間。我無法理解這個邏輯。我們都知道在算法中確定Big O或Theta之前,我們必須計算每一步的執行時間,然後根據執行時間來計算順序。無法理解算法中的執行時間
我覺得比大O或theta計算順序更容易,但我的問題是計算執行時間。
實施例:
for i=0 to **n**
dothisStep
的這個執行時間是:(N + 1),這使得它的O(N)的命令 - 這是一個容易和我理解why--我的問題是「較難的」。有時我應該得到n(n + 1)/ 2,有時n(n + 1),但我只是不明白如何或爲什麼!什麼是規則?
這個問題/答案可能會幫助你:http://stackoverflow.com/questions/3255/big-o-how-do-you-calculate-approximate-it/4852666#4852666 – Pierre
這些意思是相同的事情:「 N的大O「==」N的順序「==」O(N)「。在這種情況下,當我們說「按X的順序」時,「X是決定運行時複雜性的主要因素,對於大量輸入,我們可以忽略其他因素。」你可以看到這意味着O(X)。 –