你好,我的数学很弱。但我试图解决下面的问题。我正确地做了>
鉴于:A是大O,欧米茄或B的the。
问题是:
A = n ^ 3 + n * log(n);
B = n ^ 3 + n ^ 2 * log(n);
例如,我采用n = 2。
A = 2 ^ 3 + 2log2 => 8.6
B = 2 ^ 3 + 2 ^ 2log2 => 9.2
A是B的下限..
我还有其他问题,但我需要确认我申请的方法是否正确,还是有其他方法可以这样做。
我这样做了吗?提前谢谢。
答案 0 :(得分:1)
大O符号背后的想法是比较长期行为。你的想法(插入n = 2)揭示了对于小的n值,A或B是否最大。然而,O都是关于大值的。部分问题是弄清楚什么是大值。
了解问题的一种方法是为更大和更大的n值制作一个A和B表:
A B
n=10
n=100
n=1000
n=10000
n=100000
n=1000000
表中的第一个条目是A代表n = 10:A=10^3 + 10*log(10) = 1000+10*1 = 1010
。
接下来要做的是在同一坐标系中绘制A和B的图形。你能发现两者之间的长期关系吗?
答案 1 :(得分:0)
A n^3 + n *log(n) 1 + log(n)/n^2
--- = ------------------ = ----------------
B n^3 + n^2*log(n) 1 + log(n)/n
由于log(n)/n
和log(n)/n^2
限制为n
趋势为无穷大,因此取消的商1+log(n)/n
中的1+log(n)/n^2
和A/B
表达式两边都远离零。例如,存在下限N
,使得两个表达式都落入所有[1/2,3/2]
的区间n > N
。这意味着所有可能性都是正确的。