algorithm - 带 If 语句的循环的时间复杂度

标签 algorithm time complexity-theory

如果我有这样的循环:

for(int i=0;i<n;i++)
{
    if(i%2==0)
    {
        // do something
    }
}

如果//do some 代码的时间复杂度是线性的,那么时间复杂度是多少。

最佳答案

当您谈论时间复杂度时,您通常会谈论最坏的情况,因此您考虑 if 中的条件为 true,然后决定复杂度。

在给定的伪代码中,do some 执行了一半的时间,因此 O(n/2) => O(n) 次。所以do some执行了O(n)次。如果做某事是线性时间,那么代码片段的复杂度是O(n^2)

关于algorithm - 带 If 语句的循环的时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61539753/

相关文章:

.net - 如何检测某个短语或正则表达式的 "typo"?

javascript - 如何使用 javascript 将 RSS 提要的日期转换为荷兰语日期?

time-complexity - 寻找谐波级数的大 O

java - Arrays.BinarySearch 没有保证吗?

javascript - 使用正则表达式突出显示一组字符串

c# - 从 Calllog 计算并发调用数

Java,使用日期确定是一周还是一个月等的最简单方法

c++ - 如何在 C++ 中声明 std::chrono::duration<double> 变量

java - 将元素移动到第一位时,ArrayList 与 LinkedList 的复杂性

线分割排列的算法