Big o 大O复杂度,多个for循环

Big o 大O复杂度,多个for循环,big-o,Big O,我编写了一个简单的算法,每当用户拖放列表中的项目时,都可以对它们重新排序。此外,如果删除了一个项目或添加了一个新项目,列表将重新排序。该算法包含三个独立的线性for循环(每个循环都是O(n))和两个嵌套循环(O(n^2))。总复杂度是O(n+n+n+n^2)=O(3n+n^2) 我如何计算总的大O 提前谢谢O(3n+n^2)与O(n^2)是一回事 符号仅描述限制行为,两个函数具有相同的限制行为——将它们加倍n四倍。(当n变为无穷大时,3n组件相对于n^2组件变得越来越小。在极限情况下,它完全控制

我编写了一个简单的算法,每当用户拖放列表中的项目时,都可以对它们重新排序。此外,如果删除了一个项目或添加了一个新项目,列表将重新排序。该算法包含三个独立的线性for循环(每个循环都是O(n))和两个嵌套循环(O(n^2))。总复杂度是O(n+n+n+n^2)=O(3n+n^2)

我如何计算总的大O

提前谢谢

O(3n+n^2)
O(n^2)
是一回事


符号仅描述限制行为,两个函数具有相同的限制行为——将它们加倍
n
四倍。(当
n
变为无穷大时,
3n
组件相对于
n^2
组件变得越来越小。在极限情况下,它完全控制了它。)

看起来不错。如果它是正确的,你可以做得更好:
O(3n+n^2)==O(n^2)
作为一般规则,我们可以说具有最大指数的项优先于所有其他项吗?@cbaby我们可以,但前提是所有项都是某些次幂x@cbaby这不是真的,
O(2^x+x^2)=O(x^2)
@JanDvorak是的,但在渐近分析中,你也不能明确地说2大于x:)@cbaby这个呢<代码>O(x^2+(x^1.5)^1.5)<代码>2>1.5