Код 1
Какова временная сложность T(n)
приведенного ниже кода, если мы предположим, что n
делится на 4? Может кто-нибудь объяснить мне это?
for(int i=2;i<=n;i++)
{
for(int j=0;j<=n;)
{
std::cout<<i<<" "<<j<<"\n";
j=j+(n/4);
}
}
Код 2
Какова сложность времени T(n)
вложенных циклов ниже? Предположим, что n
является степенью 2. То есть n = 2^k
для некоторого натурального числа k
.
for (int i=1; i<=n; i++)
{
j = n;
while(j>=1)
{
<body of the while loop> //Needs θ(1)
j=⌊j/2⌋; // ⌊⌋=>Floor function
}
}