for (int i = 0; i < n; i++ ) {
for (int j = 0; j < n; j++ {
Simple Statement
}
}
for (int k = 0; i < n; k++ {
Simple Statement
Simple Statement
Simple Statement
Simple Statement
Simple Statement
}
Simple Statement*25
ネストされたループの場合、1 (int i = 0 の場合) + n + 1 (i < n の場合) + n (i++ の場合) * [ 1 (int j = 0 の場合) + 1 + n ( for j < n) + n ( for j++) ] + n (単純なステートメントの場合)。これは (1+n+1+n) (1+1+n+n)+n = (2 + 2n) (2+2n)+n = 4n^2 + 9n + 4 です。
次のループでは、1 (int k = 0 の場合) + n + 1 (i < n の場合) + n (k++ の場合) + 5n (5 つの単純なステートメントの場合) の時間計算量が見つかります。これは 1+n+1+n+5n = 7n+2 です。次の 25 個の単純なステートメントについては、時間の複雑度が 25 であることがわかりました。
したがって、時間計算量の合計は 4n^2 + 8n + 4 + 5n + 2 + 25 = 4n^2 + 16n + 31 ですが、私の本によると時間計算量は n^2 + 5n + 25 です。
私は何を間違えましたか?
編集: 本が単純なステートメントのみの時間の複雑さを伝えていることは明らかです。私の質問はこれだと思います(タイトルにあったように):アルゴリズムの時間の複雑さは何ですか?