[英]algorithm complexity n*(m+n)^2
我寫了如下代碼:
for( i = 0 ; i < n; i++){
for( j = 0; j < m + i; j++){
for( k = 0; k < m + i; k++){
dosomething();
}
}
}
因此平均時間復雜度為O(n *(m + n / 2)*(m + n / 2))? 大O最壞的情況是什么? 我很困惑。
最壞情況,最佳情況和平均情況的算法復雜度都相同。
對於大小(n,m)的每個輸入,它總是執行相同數量的指令。
n,m
進行的最大可能步數。 這是O(n*(n+m)^2)
,通過顯示中間和內部循環比從n+m/2
到n+m
花費更多的時間(因為它在O(n*(n+m)^2)
O(n*(n+m)^2)
可以容易地證明。 O(n*(n+m)^2)
,然后是算法。 n,m
,必須采取相同數量的步驟。 n,m
的輸入上執行-但此處的確切輸入並不重要,僅大小為n
和m
因此將保持不變 有條理地,使用Sigma表示法將為您提供以下內容:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.