渐近地比较函数

时间:2018-03-04 06:32:19

标签: algorithm math asymptotic-complexity

我有两个函数:F 1 (n)= 2n + 20和F 2 (n)= n + 1。我必须证明哪一个更好。

我们的讲师解决了类似的问题。鉴于F 1 (n)= n 2 且F 2 (n)= 2n + 20,他做了:

F 2 (n)/ F 1 (n)=(2 / n)+(20 / n 2

他说它总是不到22,因此2n + 20更好。

我的疑问是如何解决这些功能之间的比较。我已经完成了之前在这里提出的所有问题并且没有完全理解它。

如果给出( 2 + bn + c)= O(n 2 ),请帮助选择常数c 1 , c 2 ,n 0 ,以便

c 1 g(n)≤f(n)≤c 2 g(n)。

1 个答案:

答案 0 :(得分:0)

如其中一条评论所述,首先需要定义更好的复杂性。

当且仅当C(n)(或使用Landau符号K(n))时,您的讲师可能意味着复杂性C(n) << K(n) 更好而不是C(n) = o(K(n))n -> +Inf

如果您想比较两个复杂性F1(n)F2(n),一种方法是检查商F2(n)/F1(n)是否收敛,如果是,则收敛到哪个值。 F2(n) ~ nF1(n) ~ n^2时,F2(n)/F1(n)会向0收敛,因此F1(n)会向F2(n)主导无穷大。根据之前采用的语言惯例,你会说F1(n)更好。

请注意,“ it(F2(n)/F1(n))总是小于22,并告知2n + 20更好 <渐近分析的正确方法如果是统治关系(o(.)或同等地<<)(我怀疑你的讲师是否对上面定义的F1(n)F2(n)说了。)。

在上一个问题中 - 您能否定义f(n)g(n)