Временная сложность этого примера кода - PullRequest
0 голосов
/ 25 мая 2011
i=n;

while (i>=1) {

  --x=x+1;

  --i=i/2;

}

Какое время выполнения этого кода?

A O (N ^ 2)

B O (N ^ 3)

C O (N ^ 4)

D O (LOG N)

E O (2 ^ N)

Я считаю, что это вариант D

Это для пересмотра. Не домашнее задание

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Это никогда не прекратится, поскольку условие while

i>=i

Однако, если вы хотите ввести

i>=1

Ответом будет log (n).

0 голосов
/ 25 мая 2011

Ваше мнение будет правильным, если вы измените условие while на i>=1 В его нынешнем виде сложность равна O (БЕСКОНЕЧНОСТЬ)

...