A を、0 と 1 を含む配列 [1..n] とし、func()を、複雑さが theta(m) である関数とします。与えられた疑似コードの複雑さは何でしょうか?
counter=0;
for(i=0;i<n;i++)
{
if(a[i]==1)
counter++;
else
func();
}
私によると、関数 func() が最大で n 回呼び出される最悪のケースは、配列が完全にゼロで埋められている場合です。したがって、 func() の theta 表記は theta(m) として与えられます。
上記のコードの複雑さは :theta(mn) ....??? になります。いいえの場合は、適切な検証を手伝ってください。