gpt4 book ai didi

time-complexity - 大O : What is the name for the complexity O(a * b)?

转载 作者:行者123 更新时间:2023-12-02 18:06:36 28 4
gpt4 key购买 nike

我是学习大O表示法的新手,并想到了这个问题。复杂度 O(a * b) 的名称是什么?是线性复杂度吗?多项式?或者是其他东西。实现代码如下。

function twoInputsMult(a, b) {
for (let i = 0; i < a; i++) {
for (let j = 0; j < b; j++) {
// do something
}
}
}

编辑:根据我正在经历的类(class),它不是 n^2 或二次,因为它使用两个不同的数字进行循环。引用下图An image that says O(a*b) is not n^2

最佳答案

O(ab) 就是 O(ab)。从技术上讲,abmultivariate polynomial二级nd。但这并不等于二次多项式,例如a2

如果您对ab了解更多,您也许能够推断出更多关于他们的关系。例如,如果a = O(b),则O(ab) = O(b2),这是二次的。另一方面,如果a是一个常数,那么我们可以将其减少到O(b),这是线性的。

顺便说一下,请注意,O(a + b) 只是 O(max(a, b))

如果您对现实世界感兴趣,我可能还会提到这两个复杂性类别都出现了很多,例如在图论中,我们有顶点数 |V| 和边数 |E|,通常为 |E| = O(|V|2) 但不一定。例如,Depth-first search时间复杂度为 O(|V| + |E|),这仅意味着它在顶点或边较多的情况下是线性的。

关于time-complexity - 大O : What is the name for the complexity O(a * b)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73118300/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com