for循环内部或外部if语句的复杂性
Complexity of if statement inside or outside for loop
让我们比较一下:
for path in filePaths :
if(self.module!=organizer and self.module!=decoder):
# some code with loops
elif(self.module==decoder):
# some code with loops
还有这个:
if(self.module!=organizer and self.module!=decoder):
for path in filePaths :
# some code with loops
elif(self.module==decoder):
for path in filePaths :
# some code with loops
哪个最有效,为什么?
它们的复杂度都是O(n),但后者效率更高。由于 self.module
在循环执行期间不会改变,因此在每次迭代中检查它没有意义。
让我们比较一下:
for path in filePaths :
if(self.module!=organizer and self.module!=decoder):
# some code with loops
elif(self.module==decoder):
# some code with loops
还有这个:
if(self.module!=organizer and self.module!=decoder):
for path in filePaths :
# some code with loops
elif(self.module==decoder):
for path in filePaths :
# some code with loops
哪个最有效,为什么?
它们的复杂度都是O(n),但后者效率更高。由于 self.module
在循环执行期间不会改变,因此在每次迭代中检查它没有意义。