counter = 0;
for (i=1; i<=n; i++)
if (a[i] == 1){
counter++;
}
else {
f (counter);
counter = 0;}
}
A[1, …, n]
が各位置でのビット(1または0)を格納する配列であるとすると、f(m)
は、その時間複雑θ(m)
である関数です。このプログラムフラグメントの時間複雑度はどのくらいですか?
次に、このプログラムフラグメントの時間複雑度はどのくらいですか?
私は、アレイがすべてゼロが含まれている場合、それは継続的に呼び出されるよう、何が、機能f(0)
の時間複雑になるという部分で立ち往生しています。
ありがとうございます!疑いの余地はありません "どうすればcounter = 0が削除されますか?" – Barry
バリアント問題の計算方法に疑問がある場合は、いくつかのサンプル配列を試して、得られる結果を確認することができます。たとえば、すべて1、すべて0、または1と0が交互に表示されます。 –