コード1whileループの時間複雑度(Big O)はどのようにして確認できますか?
int i = 0;
int j = 0;
while(i < n){
while(j < n){
printf("{%d,%d}",arr[i],arr[j]);
j++;
}
i++;
j = 0;
printf("\n");
}
コード2
int result = 0;
int i = 0;
while (i < n/2){
result += arr[i];
i += 1;
while (i >= n/2 && i < n){
result += arr[i];
i += 1;
}
}
printf("%d\n", result);
私はforループで時間の複雑さを見つける方法を知っているが、私は、whileループについて確信がもてません。 誰かが各コードの合計実行時間を見つけるのを手伝ってくれたら大いに感謝します。
最初のものがのために 'と等価で実行(i = 0; iがN <; Iは++){(jについての= 0であり、j
melpomene
あなたはwhileループとforループのすべてを表現することができますし、forループで時間の複雑さを理解するために主張しているので、私はあなたがこのタスクを解決するためにすべてのツールを持っていることを主張するだろう。ループは自明ループに対する対応するように書き換えることができるしながらループの – nemo
Aは自明whileループのように書き換える、最もすることができます。 big-O表記は正確な値ではなく、桁違いのオーダーであることに注意してください。 –