gpt4 book ai didi

math - 渐近界和大 O 符号

转载 作者:行者123 更新时间:2023-12-04 15:30:08 25 4
gpt4 key购买 nike

假设我们有两个单调递增的函数 f,g 使得 f(n)=Ω(n) 和 f(g(n))=O(n) 是否正确?那么我想得出的结论是g(n)=O(n)。

我认为这是一个错误的说法,我一直在尝试提供反例来证明这是错误的说法,但经过多次尝试后,我开始不这么认为。

如果这是一个错误的说法或证明它是否正确的方法,您能否提供某种解释或示例。

最佳答案

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

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

f(n) ≥ cn for any n ≥ n0. (1)

类似地,由于 f(g(n)) = O(n),我们知道存在常数 d, n1 使得

f(g(n)) ≤ dn for any n ≥ n1. (2)

现在,有两个选择。第一个是 g(n) = O(1),在这种情况下我们就完成了,因为 g(n) 那么 O(n)。第二种情况是 g(n) ≠ O(1),在这种情况下 g 无限增长。这意味着存在一个 n2 使得 g(n2) ≥ n0 (g 无限增长,所以它最终超过 n 0) 和 n2 ≥ n1(随便选一个大的 n2)。

现在,选择任何 n ≥ n2。由于 n ≥ n2,我们有 g(n) ≥ g(n2) ≥ n0 因为 g 是单调递增的,并且因此通过 (1) 我们看到

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

由于n ≥ n2 ≥ n1,我们可以将这个不等式与等式(2)结合起来看

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

所以,特别是,我们有那个

g(n) ≤ (d / c)n

对于所有 n ≥ n2,所以 g(n) = O(n)。

关于math - 渐近界和大 O 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61391260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com