Почему ответ не O (n ^ 2)? - PullRequest
       18

Почему ответ не O (n ^ 2)?

0 голосов
/ 29 апреля 2019

Я так растерялся, что почему ответ не O (n ^ 2)? Мой T (n) равен 2 + 2n ^ 2 + n +1, поэтому он должен быть O (n ^ 2). Но ответ - нет.

a = 4
b = 10
for i  in range(n):
    for j in range(a):
        total = total + 1
for i in range(b):
    total = total + 1
print(total)

Часть (а) неверна: T (n) является квадратичной функцией или другой нелинейной функцией

1 Ответ

0 голосов
/ 29 апреля 2019

Если a и b постоянны, то это просто O(n).Потому что только первый for цикл, который выполняется от 0 до n, является линейным по n.Два других цикла требуют постоянного объема работы.Общая сложность составляет O(n*a+b) = O(n).Будет иначе, если a или b являются функцией n.

...