私はアルゴリズムを分析しています。正しいトラックにいるかどうかを知りたいだけです。時間の複雑さのためのアルゴリズムを分析する
このアルゴリズムでは、***が入っている行の乗算を数えています。ここで
はアルゴリズムだ:私は最も内側のラインから始めていますので、
- 、私はそこに2つの操作(2つの乗算)がある見ることができます。
- 今、私は内側の2つのループを調べているので、
p=p*20*z
が正確に(j) + (j-1)+(j-2)+(j-3)...1
回実行されるとわかります。これはj(j+1)/2
と等しくなります。 - 合計で2つの乗算があるので、
2 * (j(j+1)/2)
が発生します。 - 最後に、 "i"ループは正確にn回発生するので、合計で
n(2 * (n(n+1)/2))
です。
これは私の考えのプロセスです。私は正しいですか?ありがとう。
んが、あなたがいないではありません。最終的な結果は 'n 'のみを含むべきです。あなたはそこに 'j'を持っています。 –
迅速な対応に感謝します。それはn(2 *(n(n + 1)/ 2))でしょうか? – 0xSina
実際には、nはjが最も大きいので、nをjで置き換えると、そこを通って派生したものが正しいと誤って入力されていると思います。 @PragmaOnceはい、明らかにそれはかなり単純化することができますが。 –