证明f(n)+ g(n)是O(max(f(n),g(n)))

时间:2012-10-09 00:30:31

标签: algorithm big-o analysis notation

你好,我有一点困难证明以下内容。

f(n) + g(n) is O(max(f(n),g(n)))

这具有逻辑意义,通过观察,我可以告诉你它是正确的,但我在提出证据方面遇到了麻烦。

这是我到目前为止所做的:

c * (max(f(n),g(n))) > f(n) + g(n) for n > N

但是我不确定如何选择c和N以符合定义,因为我不知道f(n)和g(n)是什么。

感谢任何帮助。

1 个答案:

答案 0 :(得分:12)

f(n) + g(n) <= 2* max{f(n),g(n)} 
(for each n>0, assume f(n),g(n) are none-negative functions)

因此,对于N=1,对于所有n>Nf(n) + g(n) <= 2*max{f(n),g(n)},我们可以根据f(n) + g(n) O(max{f(n),g(n)})中的大O定义

基本上,我们根据定义使用N=1, c=2作为形式证明。