如何证明3n + 2log n = O(n)

时间:2013-01-26 20:18:20

标签: math big-o

如何使用big-O的定义证明3n + 2log n = O(n)?

C应该是6,& k是1,但我不知道如何找到它。很多人会非常感激。

3 个答案:

答案 0 :(得分:6)

要正式证明这个结果,你需要找到n 0 和c的选择

  

对于任何n≥n 0 :3n + 2logn≤cn

要开始此操作,请注意,如果您有任何n≥1,则记录n< ñ。因此,如果你考虑任何n≥1,你就有了

  

3n + 2log n< 3n + 2n = 5n

因此,如果您选择n 0 = 1且c = 5,那么

  

对于任何n≥n0:3n + 2log n< 3n + 2n =5n≤cn

因此3n + 2 log n = O(n)。

更一般地说,当给出这样的问题时,尝试识别主导项(这里是n项)并尝试找到n 0 的一些选择,使得非显性项被不堪重负主导词。一旦你完成了这一点,剩下要做的就是选择正确的常数c。

希望这有帮助!

答案 1 :(得分:0)

狂野猜测(你的问题很不清楚):任务是显示

O(3n + 2log n) = O(n)

现在它是如何出现的:n -> n增长速度超过n -> log n,并且因为复杂性渐近,只有增长最快的术语很重要,这是{{ 1}}在这种情况下。

答案 2 :(得分:0)

如果我没记错的话你可以证明以下事项: 如果f1(n)= O(g1(n)),f2(n)= O(g2(n))则f1(n)+ f2(n)= O(max {g1(n),g2(n)) })。 从那里它非常直接。