Algorithm for循环的时间复杂度,其中i以变量(不是1或0)开头

Algorithm for循环的时间复杂度,其中i以变量(不是1或0)开头,algorithm,for-loop,time-complexity,Algorithm,For Loop,Time Complexity,我想知道for循环for(I=m;I是的,它确实是O(n-m+1),因为在最坏的情况下它将从m开始并达到n。解释 假设您的循环只执行以恒定时间运行的语句,即O(1),那么您只需计算循环迭代的数量 你的圆头 for (i = m; i <= n; i++) 就像你说的。注意,O(n-m+1)等于O(n-m),+1对渐近复杂性没有任何影响。是的,当然,你是对的,我只是为了解释确切的场景而放的。是的,谢谢。如果在for循环中,有一个类似sum=sum+a[I]的语句//开始时将总和初始化为零

我想知道for循环for(I=m;I是的,它确实是
O(n-m+1)
,因为在最坏的情况下它将从
m
开始并达到
n

解释 假设您的循环只执行以恒定时间运行的语句,即
O(1)
,那么您只需计算循环迭代的数量

你的圆头

 for (i = m; i <= n; i++)

就像你说的。

注意,
O(n-m+1)
等于
O(n-m)
+1
对渐近复杂性没有任何影响。是的,当然,你是对的,我只是为了解释确切的场景而放的。是的,谢谢。如果在for循环中,有一个类似sum=sum+a[I]的语句//开始时将总和初始化为零,那么整个循环的复杂度仍然是O(n-m),对吗?是的,这是最糟糕的时间复杂度。O(m+n)、O(m-n)、O(max(m,n))、O(min(m,n))并不完全相同,尽管O(m+n)和O(max(m,n))是相同的。例如,m+n不是O(m-n)因为这意味着有一个M和C,对于所有的M,n,max(M,n)>M,那么M+n很好地解释了!
O(n - m + 1) = O(n - m)