「Big-O」を計算する必要がある次のコードがあります。
def f3(lst):
i = len(lst)
while i>0:
for j in range(i):
for k in range(j, 10**5):
print(i)
i -= 2
lst
が長さ n のリストであり、操作が であると仮定するとO(1)
、次for
のようになりO(1)
ます。
while は n 回実行され、最初の for ループは n/2 回実行されるため、一般的に複雑さはO(n^2)
.
あれは正しいですか?私の友人はそれだと思いますO(n^4)
。
ありがとう。