0
私は現在アルゴリズムの試験に勉強中ですが、私は時間の複雑さについてJavaの質問を解決しようとしていますが、実際にそれを行う方法を理解することはできません。私は予想される時間の複雑さを計算すると仮定しています。 Nは正の整数です。時間の複雑さ(試験のために勉強する)
for (int i=0; i < N; i++)
for (int j=i+1; j < N; i++) {
int x=j+1; int h=N-1; int k;
while(x<h) {
k=(x+h)/2;
if (a[i]+a[j]+a[k] == 0) { cnt++; break;}
if (a[i]+a[j]+a[k] < 0) x=k+1;
else h=k-1;
}}
最初のforループはN回実行し、2回目はN-1を実行する必要があります。 xはj + 1なので、x = N-2と推測されます。私はwhileループでそれを考えたり、何か正しいことをしたかどうかを知りません。本当に助けに感謝しますか?