ビッグ・シータ・ノーテーションの最悪の場合の実行時間は、以下のコードでどのくらいですか?コードは、最低スコアを落とした後の宿題のリストから宿題の平均を計算します。ビッグ・シータ・ノーテーションのワースト・ケース・ランタイム
m := 1
for i := 2 to n
if h_i < h_m then m := i
total := 0
for j := 1 to n
if j != m then total := total + h_j
return total/(n − 1)
最悪の場合、これは最も低いスコアが最後の位置にあることを意味します。これは、最初のループでは、n-1回の反復を実行することを意味します。最初のループの上限と下限はそれぞれO(n)とΩ(n)です。これは、実行時間がΘ(n)であることを意味します。
2番目のループは、n回の繰り返しを除いて、ほとんど同じことです。
私はbig-O表記と同じようにmax(Θ(n)、Θ(n))=Θ(n)
m := 1 ; total = h_1
for i := 2 to n
if h_i < h_m then m := i
total = total + h_i
total = total - h_m
return total/(n − 1)
このコードはまた、N-1回の反復を実行します - :?おそらく私だけONEループ上で実行するコードの上に修正するので、(O(1))= O(n)の
私はこの質問をしました=>Θ(n)。これは2番目のコードより長いランタイムを持っていることは明らかです。 )、Θ(g(n))。