相关疑难解决方法(0)

O(n)算法在计算时间方面是否可以超过O(n ^ 2)?

假设我有两种算法:

for (int i = 0; i < n; i++) {
  for (int j = 0; j < n; j++) {
    //do something in constant time
  }
}
Run Code Online (Sandbox Code Playgroud)

这很自然O(n^2).假设我也有:

for (int i = 0; i < 100; i++) {
  for (int j = 0; j < n; j++) {
    //do something in constant time
  }
}
Run Code Online (Sandbox Code Playgroud)

这是 O(n) + O(n) + O(n) + O(n) + ... O(n) + = O(n)

似乎即使我的第二个算法是O(n),它也需要更长的时间.有人可以扩展吗?我提出它是因为我经常看到算法,例如,他们将首先执行排序步骤或类似的事情,并且在确定总复杂度时,它只是限制算法的最复杂元素.

complexity-theory big-o time-complexity

60
推荐指数
4
解决办法
9821
查看次数

标签 统计

big-o ×1

complexity-theory ×1

time-complexity ×1