for(int i=N; i>0; i=i/2)
irrelevant statement;
Прошу найти класс сложности, и я не уверен, должен ли я использовать нотацию Big-Omega или Big-O? Но я предполагаю, что это O (N/2), а затем O (N), если я отбрасываю константы.Алфавитный указатель Big-O Домашнее задание
for (int i=0; i<N; i++)
for (int j = i+1; j<N; j++)
irrelevant statement;
эту проблему, я считаю, что это O (N) * O (N + 1) -> O (N^2 + N), а затем O (N^2) после того, как я уронить N?
После перечитывания второго фрагмента кода я изменил свое предположение на O (N) * O (N-1) вместо O (N) * O (N + 1), потому что вложенный цикл получает итерацию на меньшее время, чем первый цикл, это правильно? Таким образом, это будет O (N (N-1)) == O (N^2-N) == O (N^2)? – Steven
удалил мой оригинальный комментарий, так как я неправильно прочитал первый цикл. Это действительно O (log2 (N)) –