大O复杂性,多个for循环

时间:2013-01-09 12:38:41

标签: big-o

我编写了一个简单的算法,只要用户拖放它们,就可以重新排序列表中的项目。此外,如果删除某个项目或添加了一个项目,则将重新排序该列表。该算法包含三个分离的线性for循环(每个循环中的每一个都是O(n))并且具有两个嵌套循环(O(n ^ 2))。总复杂度是否为O(n + n + n + n ^ 2)= O(3n + n ^ 2)?

如何计算总大O?

提前谢谢

1 个答案:

答案 0 :(得分:3)

O(3n + n^2)O(n^2)相同。

Big O符号仅描述限制行为,并且两个函数都具有相同的限制行为 - 将n加倍。 (当n变为无穷大时,3n组件相对于n^2组件变得越来越小。在极限情况下,它完全支配它。)