Math 渐近界与大O表示法

Math 渐近界与大O表示法,math,big-o,complexity-theory,Math,Big O,Complexity Theory,假设我们有两个单调递增的函数f,g,使得f(n)=Ω(n)和f(g(n))=O(n),这样说对吗。然后我想得出结论,g(n)=O(n) 我认为这是一个错误的主张,我一直试图提供反例来证明这是一个错误的主张,但在多次尝试之后,我开始有了不同的想法 如果这是一个错误的声明,请你提供一些解释或例子,或者一种证明它是否正确的方法。我相信这个声明是正确的。这是一个证明 假设f(n)=Ω(n)。这意味着有常数c,n0 f(n)≥ 任意n的cn≥ 不。(一) 类似地,因为f(g(n))=O(n),我们知道有常

假设我们有两个单调递增的函数f,g,使得f(n)=Ω(n)和f(g(n))=O(n),这样说对吗。然后我想得出结论,g(n)=O(n)

我认为这是一个错误的主张,我一直试图提供反例来证明这是一个错误的主张,但在多次尝试之后,我开始有了不同的想法


如果这是一个错误的声明,请你提供一些解释或例子,或者一种证明它是否正确的方法。

我相信这个声明是正确的。这是一个证明

假设f(n)=Ω(n)。这意味着有常数c,n0

f(n)≥ 任意n的cn≥ 不。(一)

类似地,因为f(g(n))=O(n),我们知道有常数d,n1

f(g(n))≤ 任意n的dn≥ n1。(二)

现在,有两种选择。第一个是g(n)=O(1),在这种情况下我们完成了,因为g(n)是O(n)。第二种情况是g(n)≠ O(1),在这种情况下,g增长没有束缚。这意味着存在一个n2,使得g(n2)≥ n0(g增长时没有边界,因此它最终会超过n0)和n2≥ n1(只需选择一个大n2)

现在,选择任意一个n≥ n2。自从≥ n2,我们有g(n)≥ g(n2)≥ 因为g是单调递增的,所以通过(1)我们可以看到

f(g(n))≥ cg(n)

自从≥ 氮气≥ n1,我们可以把这个不等式和方程(2)结合起来看

dn≥ f(g(n))≥ cg(n)

所以,特别是,我们有

g(n)≤ (d/c)n


为了所有人≥ n2,所以g(n)=O(n)。

非常感谢!