[英]Python - How to decrease big O and increase efficiency in multiple nested for loops?
[英]Big O of Quadruple Nested for loops
我試圖弄清楚這是什么大的符號。 我知道,如果this = n和that = m,則大O為O(mn),但是如果我連續有4個這樣的情況(最壞的情況),它將遍歷所有對象,這會對我的Big產生影響O符號。
def get_winner(self):
for this in range(self._this):
for that in range(self._that - 2):
# If statement here
return
for that in range(self._that):
for this in range(self._this - 2):
# If statement here
return
for this in range(self._this - 2):
for that in range(self._that - 2):
# If statement here
return
for this in range(self._this - 2):
for that in range(self._that - 2):
# If statement here
return
您只需添加4個彼此不嵌套的for循環,因此最壞的情況是4 *(n * m),即O(4nm)= O(nm)
它將是O(4mn)
,但是由於對於任何常數a, O(anm) = O(nm)
,所以最終它將是O(mn)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.