Math 渐近界与大O表示法
假设我们有两个单调递增的函数f,g,使得f(n)=Ω(n)和f(g(n))=O(n),这样说对吗。然后我想得出结论,g(n)=O(n) 我认为这是一个错误的主张,我一直试图提供反例来证明这是一个错误的主张,但在多次尝试之后,我开始有了不同的想法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(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)。非常感谢!