在课堂上,我向老师提出了这个问题,他无法回答,这就是我在这里问的原因。我问在代码中,如果我们有一个从 1 到 10 的循环运行,复杂度会是 O(1) {big O of 1} 吗?他回答是的。所以这里的问题是,如果我编写了一个从 1 到 100 万运行的循环,它会是 O(1) 吗?或者是 O(n) 还是别的什么?
伪代码 - 对于范围内的 i(1,100,000):打印(“嘿”)
该循环的时间复杂度是多少
现在,如果你认为答案是 O(n) ,你怎么能说它是 O(n) ,因为 O(n) 是复杂性是线性的。什么是一线希望?当代码得到 O(1) 和 O(n) 时。就像我会为 10 或 100 或 1000 或 10000 或 100000 编写一个循环一样。它何时从 O(1) 转换为 O(n)。