复杂性分析 - 增加2个功能

时间:2012-06-21 12:42:37

标签: complexity-theory big-o

我有一个家庭作业问题

Given f(n) is O(k(n)) and g(n) is O(k(n)), prove f(n)+g(n) is also O(k(n))

我不知道从哪里开始,有什么帮助指导我如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

尝试逻辑地完成它。 f(n)以线性速率增加。 g(n)也是如此。因此

O(n) + O(n) = O(2n)

当试图找到函数的大O分类时,常量不计算在内。 我会把剩下的(包括为什么)作为练习给你。 (在SO上获得完整的答案将是作弊!)

答案 1 :(得分:0)

请参阅Rules for Big-Oh Notation.

求和规则:如果f(n)O(h(n))g(n)O(p(n)),则f(n)+g(n)O(h(n)+p(n))

对您的案例使用此规则,复杂性为O(2k(n)),这只不过是O(k(n))

答案 2 :(得分:0)

因此,对于任意大的n值,f(n)是O(g(n))iff f(n)小于或等于g(n)的某个正常数倍(所以这个:f(n) )< = cg(n),n> = n_0)。通常,为了证明某些东西是O(g(n)),我们提供一些c和n_0来表明它是真的。

在您的情况下,我将首先使用该定义,因此您可以说f(n)< = ck(n)和g(n)< = dk(n)。我不想完全回答你的问题,但你基本上只是试图证明f(n)+ g(n)< = tk(n)。

* c,d和t都是任意的正常数。如果您需要更多帮助,请发表评论,我很乐意提供更多信息。