-1
For (int i=1; i <=n;i/=2){
System.out.println(i);
}
За временную сложность вышеуказанного кодирования является ot log (n)?как рассчитать сложность времени для следующего кода?
Спасибо!
For (int i=1; i <=n;i/=2){
System.out.println(i);
}
За временную сложность вышеуказанного кодирования является ot log (n)?как рассчитать сложность времени для следующего кода?
Спасибо!
Если n > 0
: Это сложность времени O(∞)
, поскольку цикл никогда не закончится
Если n <= 0
: Это сложность времени O(1)
, поскольку цикл не будет выполнен
'я/= 2'? У вас бесконечный цикл, если 'n' отрицательный. – kiheru
Hi, kiheru. Значит, у вас проблема? Но это в прошлом году. Я не понимаю, как анализировать, чтобы вычислить временную сложность. – hjxlpp
У этого может возникнуть проблема или нет. @ sasha.sochka дал вам более полный ответ (я пропустил случай 'n == 0'). После первой итерации (если все делается) 'i == 0', потому что целое деление' 1/2 == 0'. – kiheru