Algorithm 3 logn和2 logn的复杂性相同吗?

Algorithm 3 logn和2 logn的复杂性相同吗?,algorithm,big-o,Algorithm,Big O,它是否具有相同的复杂性,因为它们随常数乘数而变化,还是应该将其设为n^3和n^2并进行比较?是。乘以一个常数并不重要。两者都是O(logn) 事实上,这是big-o符号定义的一部分。如果一个函数可以被n中的一个多项式所限定,那么当n趋于无穷大时,可以忽略多项式的低阶项。两者都等价于O(logn)。常量不会改变复杂性。对于“BigOh”表示法,常量乘数实际上并不重要。它所做的只是给出了运行时复杂性的顺序。 你可以考虑这个小例子: 假设你有3*100=300个苹果和2*100=200个苹果。当然,3

它是否具有相同的复杂性,因为它们随常数乘数而变化,还是应该将其设为n^3和n^2并进行比较?

是。乘以一个常数并不重要。两者都是
O(logn)


事实上,这是big-o符号定义的一部分。如果一个函数可以被n中的一个多项式所限定,那么当n趋于无穷大时,可以忽略多项式的低阶项。

两者都等价于O(logn)。常量不会改变复杂性。

对于“BigOh”表示法,常量乘数实际上并不重要。它所做的只是给出了运行时复杂性的顺序。 你可以考虑这个小例子: 假设你有3*100=300个苹果和2*100=200个苹果。当然,300!=200,但两者的顺序是相同的,也就是说以数百为单位

所以用同样的方法,3(logn)!=2(logn),但3(logn)和2(logn)都是logn的顺序,即O(logn)。

由所有上界函数集定义

话虽如此,重要的是要注意,大O可以在数学上定义为:

O(g(n))={f(n):f(n)


如你所见,常数在大O中并不重要;我们不在乎是否有一个有效的。因此
3logn
2logn
都可以被描述为
O(logn)

乘数不重要