Big o 这里的复制表代码有多复杂?

Big o 这里的复制表代码有多复杂?,big-o,Big O,我认为,下面的代码具有O(n^2-n)复杂性。但我还没见过这种形式的大o def gugu(n:Int) = { for(i <- 2 to n) { for(k <- 1 to n) { println(s"$i * $k = " + (i * k)) } } } def gugu(n:Int)={ 对于(i您是正确的,总共有n2-n个条目将被打印出来,因此您声称运行时为O(n2-n)在技术上是正确的。但是,

我认为,下面的代码具有O(n^2-n)复杂性。但我还没见过这种形式的大o

def gugu(n:Int) = {
    for(i <- 2 to n) {
        for(k <- 1 to n) {
            println(s"$i * $k = " + (i * k))
        }
    }
}
def gugu(n:Int)={

对于(i您是正确的,总共有n2-n个条目将被打印出来,因此您声称运行时为O(n2-n)在技术上是正确的。但是,通常情况下,当使用大O表示法时,您会删除常量因子和低阶项,以便只留下主要的增长项。在这里,n2项占函数运行时的绝大多数,因此最好说运行时为O(n2)因为它更清楚地传达了运行时的扩展方式。

n^2,这才是最重要的。正如Luaan所说,您只关心O.O(n^2)中最重要的贡献者。