c - 下面这个简单程序的复杂度是多少?

标签 c time-complexity

我很难理解复杂性。有人可以帮助我理解下面代码的复杂性以及原因。

for (int i = 1; i < n; i++) { // (n is a number chosen by the user)
    for (int j = i - 1; j >= 0; j--) {
        printf("i=%d, j=%d", i, j);
    }
}

如果有解释就太好了。

最佳答案

假设 i 从 0 开始,复杂度将是恒定的。复杂性总是相对于定义执行次数的变量来表示,但这里的情况并非如此。

如果要用一个术语来描述这种行为,那就是“恒定”。会有多次执行,但这个数字永远不会改变

关于c - 下面这个简单程序的复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35838668/

相关文章:

algorithm - 如何计算 Shell-sort 算法的运行时间

algorithm - 是否有一个近似值可以在一个循环中获得平均值和标准偏差

python - 荷兰国旗变化的时空复杂度

c - 可变长度数组或结构的队列

c - 为什么在 c 中使用结构时给出 "stop working"错误消息?

c# - Codility 测试 - 找到范围内的倍数

java - 对 Java ArrayList 使用迭代器而不是 C 风格的循环

c - 嵌套结构初始化是否取决于范围?

c++ - 如何检测用户何时按下电源关闭按钮?

c++ - Clang 中的规范类型是什么?