算法 - 渐近符号

时间:2014-08-03 15:57:11

标签: algorithm

正如我在书中读到的那样,我的教授还教我关于渐近符号

我得到的一般想法是,当找到一个函数w.r.t的渐近符号时,我们只考虑非常大的n值。

所以从这里我的困惑是 -

  

2 ^ n = O(3 ^ n)和log2(n)=Θlog3(n)

第一个关系对我来说很清楚,第二个关系让我感到困惑。尽管我将log2(n)log3(n)派生到同一个基地并注意到log2(n)=log10(n)/log10(2)log3(n)=log10(n)/log10(3)所以可以去除常数因子。第二种关系也可以。

当我看到log2(n)log3(n)的图表时,仍有疑问。 log2总是高于log3并且比log3增长得更快,即当n增加时,对数值的差异会增加。 当我看到x1=yx2=2y的图表时,我更加困惑 其中x2高于x1,差异随着y的增加而增加。

所以现在我想知道。我如何区分关于函数的渐近关系的图。 在什么意义上,他们说一个函数上限由另一个函数限制,虽然2个不同斜率的行也跟着这个。为什么我们不说一条线在另一条线的上边界。我们只说它们与Θ相关。

请帮助我理解这个概念。

1 个答案:

答案 0 :(得分:1)

有趣的问题是,如果一个函数的值大于另一个函数,但是如果它增长得更快(总是只看到足够大的n)。例如,取f1 = n 2 且f2 = 100n 2 。 f2总是比f1大100倍,但如果你比较f1(10)和f1(20),你会发现后者的值是第一个值的4倍。 f2(10)和f2(20)恰好相同,也是4的比率。

因此,这两个函数以完全相同的方式增长。