0
2我開發了一種算法,我試圖以最詳細的方式記錄它的時間複雜性,並且我遇到了一個問題。依賴循環的複雜性
的算法是這樣的:
for i=0:n {
task 1;
task 2;
for j=0:i {
task 3;
}
task 4;
}
所以我記錄我的複雜性說,任務1具有複雜度O(T1),... 但是當我試圖解釋的任務3我被卡住了,因爲它基本上會被執行,我計劃說算法的複雜性是任務1 +任務2 +任務3 +任務4的複雜度的n倍。而且,我將依賴於n我真的不明白什麼是最好的呈現方式。
我明白,如果任務1,2和4不存在,複雜度將是O(n^2)。但我不知道如何與我以前的解釋一致來呈現。
我希望有道理,謝謝你的幫助。
任務3將被執行1 + 2 + 3 + .. + n = n *(n + 1)/ 2次。所以任務3的時間複雜度只有O(n^2)。 –