计算数学效率的对数

时间:2015-03-15 14:16:14

标签: algorithm math logging

你好,我的数学很弱。但我试图解决下面的问题。我正确地做了>

鉴于: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的下限..

我还有其他问题,但我需要确认我申请的方法是否正确,还是有其他方法可以这样做。

我这样做了吗?提前谢谢。

2 个答案:

答案 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)/nlog(n)/n^2限制为n趋势为无穷大,因此取消的商1+log(n)/n中的1+log(n)/n^2A/B表达式两边都远离零。例如,存在下限N,使得两个表达式都落入所有[1/2,3/2]的区间n > N。这意味着所有可能性都是正确的。