这段代码的大 O 复杂度是多少
What is the big-O complexity of this code
这段代码的大 O 表示法是什么?
for( int i=1; i<2n; i++)
x=x+1;
我的回答=O(2*n)
这个正确吗?
复杂度为O(n)。 Big O 旨在描述应用程序的复杂性,在这种情况下它是线性的,所以它是 O(n)。
像你猜的那样,这个的大 运行 时间是 O(2n),但通常只是简化为 O(n)。
将此视为一个 A
算法
for( int i=1; i<2*n; i++)
x=x+1;
算法A的运行时间:T(n) = 2n-1
- 消除低阶项:
2n-1 -> 2n
- 删除所有常数系数:
2n -> n
所以算法A的时间复杂度为O(n)
.
这段代码的大 O 表示法是什么?
for( int i=1; i<2n; i++)
x=x+1;
我的回答=O(2*n)
这个正确吗?
复杂度为O(n)。 Big O 旨在描述应用程序的复杂性,在这种情况下它是线性的,所以它是 O(n)。
像你猜的那样,这个的大 运行 时间是 O(2n),但通常只是简化为 O(n)。
将此视为一个 A
算法
for( int i=1; i<2*n; i++)
x=x+1;
算法A的运行时间:T(n) = 2n-1
- 消除低阶项:
2n-1 -> 2n
- 删除所有常数系数:
2n -> n
所以算法A的时间复杂度为O(n)
.