Give a tight bound of the nearest runtime complexity class for each of the following code fragments in Big-Oh notation, in terms of the variable N.
In other words, write the code's growth rate as N grows.
Write a simple expression that gives only a power of N using a caret ^
character for exponentiation, such as O(N^2)
to represent O(N2) or O(log N)
to represent O(log2 N).
Do not write an exact calculation of the runtime such as O(2N3 + 4N + 14).
a)
sum = 0
j = 1
while j <= n:
sum += 1
j *= 2
print(sum)
b)
sum = 0
for j in range(1, n):
sum += 1
if j % 2 == 0:
sum += 1
print(sum)
c)
sum = 0
for i in range(1, n * 2 + 1):
for j in range(1, n + 1):
sum += 1
for j in range(1, 100):
sum += 1
sum += 1
d)
sum = 0
for i in range(1, n + 1):
for j in range(1, i + 1, 2):
sum += 4
for k in range(-50, -2):
sum += 1