私はちょうど時間の複雑さを学び始めましたが、私は幾分 "okayish"把握していますが、このコードセグメントについてどうやって行くのか少し混乱します。 私は他の記事を読んだことがありますが、誰かが私の言うことを断ることがなければ、苦労することがあります。顔の叩き声のようなもの。Time Complexity:Whileループforループ[Java]
public int example(int[] array) {
int result = 15;
int i = array.length;
while(i > 1)
{
for(int x = 0; x < array.length;x++)
{
result+= 1;
result+=2*array[x];
}
i = i/2;
}
return result;
}
私は算術演算を数えています。私は(おそらく)午前間違っている場合、私は信じているから は、
X ++
がn回発生した、私を修正します。結果+ = 1はn回発生します。 4N回
との合計
結果+ = 3 *アレイ[X]を2N回起こる
全てのi = I/2がLOGN回
起こります正しい方程式は4nlognでしょうか?
なぜループの2番目のステートメントが前のステートメントの2倍の回数実行されると思いますか? – ChiefTwoPencils
私は2つの算術演算が起こっていると仮定しましたが、それはちょうどn回も起こると思いますか? – CabDude
私はあなたのロジックを見ています。 – ChiefTwoPencils