big-o - 这段代码的大O复杂度是多少

标签 big-o time-complexity

这段代码的大O表示法是什么?

for( int i=1; i<2n; i++)
   x=x+1;

我的答案 = O(2*n) 这是正确的吗?

最佳答案

将此视为A算法

for( int i=1; i<2*n; i++)
 x=x+1;

算法A的运行时:T(n) = 2n-1

  1. 消除低阶项:2n-1 -> 2n
  2. 删除所有常数系数:2n -> n

所以算法A的时间复杂度为O(n)

关于big-o - 这段代码的大O复杂度是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276908/

相关文章:

java - 该算法最坏情况下的时间复杂度是多少?

javascript - 对象文字的搜索在什么深度变得比 O(1) 慢?

c++ - 计算最大子序列和的时间复杂度

c - 时间复杂度划分

algorithm - (with example) 为什么 KMP 字符串匹配 O(n)。不应该是 O(n*m) 吗?

java - 查找任意数下的下一个最大值的数据结构

java - ArrayList 有没有比 O(n) 更好的搜索方法?

java - 这段代码的复杂度是 O(n^2) 还是 O(n^2 * n^(1/2))?

java - 如何在 Big-O(N) 时间内将 3 个排序数组合并为 1 个排序数组?

c# - 提高时间复杂度