我的问题是,这是真的吗。
g(n) ∈ O(f(n)) =⇒ (g(n))^2 ∈ O((f(n))^2)
从长远来看它应该是正确的,但我有一个例子 (log n )^ 2 仍然在或小于 O(sqrt n)
有没有办法在没有图表的情况下证明这一点。
THX
答案 0 :(得分:3)
很直观的是,如果一个函数 g
的速度小于或等于另一个函数 f
,则 g
的平方小于或等于 {{ 的平方1}}。
正式:
f
意味着,对于常数 g(n) ∈ O(f(n))
的至少一个选择,您可以找到一个常数 k > 0
,使得不等式 a
对所有 0 ≤ g(n) ≤ k f(n)
成立。 n > a
意味着,对于常数 g(n)^2 ∈ O(f(n)^2)
的至少一个选择,您可以找到一个常数 k > 0
,使得不等式 a
对所有 0 ≤ g(n)^2 ≤ k f(n)^2
成立。 既然我们想证明 n > a
蕴涵 g(n) ∈ O(f(n))
,我们想从语句 #1 开始到达语句 #2。
让我们取两个常量 g(n)^2 ∈ O(f(n)^2)
和 k
,使得语句 #1 得到满足。
首先,请注意:
a
对所有 0 ≤ k f(n)
成立(来自假设);n > a
对所有 0 ≤ f(n)
保持(自 n > a
起)。 [结果 #1]还要注意:
k > 0
对所有 g(n) ≤ k f(n)
成立(来自假设);n > a
对所有 g(n)^2 ≤ (k f(n))^2
成立(因为,根据假设和结果 #1,n > a
和 g(n)
对于所有 f(n)
都是非负的,所以我们可以保留 n > a
符号);≤
对所有 g(n)^2 ≤ k^2 f(n)^2
保持。 [结果 #2]从结果 #1 和 #2 来看,语句 #2 得到满足。
Q.E.D.