回覆列表
-
1 # 使用者7648761603247
-
2 # 使用者2458114238191884
關於時間複雜度的計算是按照運算次數來進行的,比如1題:
Sum1( int n )
{ int p=1, sum=0, m ; //1次
for (m=1; m
{ p*=m ; //n次
sum+=p ; } //n次
return (sum) ; //1次
}
最後總的次數為
1+(n+1)+n+n+1+1=3n+3
所以時間複雜度f(o)=n;(時間複雜度只管n的最高次方,不管他的係數和表示式中的常量)
其餘的一樣,不明白的可以來問我
關於時間複雜度的計算是按照運算次數來進行的,比如1題: Sum1( int n ) { int p=1, sum=0, m ; //1次 for (m=1; m<=n; m++) //n+1次 { p*=m ; //n次 sum+=p ; } //n次 return (sum) ; //1次 } 最後總的次數為 1+(n+1)+n+n+1+1=3n+3 所以時間複雜度f(o)=n;(時間複雜度只管n的最高次方,不管他的係數和表示式中的常量) 其餘的一樣,不明白的可以來問我