Big o 这个函数是O(n^2log_2(n))吗?

Big o 这个函数是O(n^2log_2(n))吗?,big-o,computer-science,Big O,Computer Science,所以给我一个函数,比如65536n2+128nlog2n 这是O(n2 log2n)的唯一方法是 C=65664,n=2表示所有n≥ 2自 C1=65536当65536时n1=2≤ C1*n2和 C2=128时n2=1≤ C2*n 但是我为常数选择的数字似乎有点高,有没有办法检查这个问题?O(65536n2+128nlog2n)与O(n2+nlog2n)相同,因为你可以忽略乘法常数。O(n2+nlog2n)等于O(n2),因为n2的生长速度比nlog2n快 另外,顺便说一句,在大O分析中,对数的

所以给我一个函数,比如65536n2+128nlog2n

这是O(n2 log2n)的唯一方法是

C=65664,n=2表示所有n≥ 2自

C1=65536当65536时n1=2≤ C1*n2和
C2=128时n2=1≤ C2*n

但是我为常数选择的数字似乎有点高,有没有办法检查这个问题?

O(65536n2+128nlog2n)与O(n2+nlog2n)相同,因为你可以忽略乘法常数。O(n2+nlog2n)等于O(n2),因为n2的生长速度比nlog2n快

另外,顺便说一句,在大O分析中,对数的底并不重要。所有对数都以相同的速度增长。毕竟,log2n=logn/log2,可以计算出乘法常数。您可以简单地说logn而不是log2n

警告:从技术上讲,65536 n2+128 n log2n∈O(n2 log2n),因为大O给出了一个上界,但不是严格的上界。O(n2)是一个上下限,如果这有意义的话


也就是说,你不应该得到O(n2 log2n)。这仅仅是意外地把加法变成乘法的结果。根据经验,如果在一个Big-O公式中有多个东西加在一起,你只需找出其中哪一个增长最快,然后丢弃其他的。

让我们在这里简化方程,因为常数其实并不重要:

n2+n log2n

因为n2>nlog2n,因为n接近无穷大


大O是O(n2),因为n2是上界。

哪个函数增长更快n^2或nlog_2(n)?n^2,但那是O((n^2)(log_2(n))@谢谢你。问题是,函数列表是否“可能”(n^2logn),而这个函数列表似乎有点奇怪。