for循环内部或外部的if语句的复杂性

时间:2020-01-22 11:03:25

标签: python time-complexity complexity-theory

让我们比较一下:

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

哪个效率最高?为什么?

1 个答案:

答案 0 :(得分:3)

它们都具有O(n)复杂度,但是后者效率更高。由于self.module在循环执行期间不会改变,因此在每次迭代中都没有必要检查它。