- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在研究 f(n) + o(f(n)) = theta (f(n))
的证明,我在证明中发现了一部分麻烦理解。
我们让 f(n)
和 g(n)
是渐近正函数,并假设 g(n) = O(f(n))
。在证明中,它指出由于我们知道 f(n) + g(n) ≥ f(n)
对于所有 n
,我们可以得出结论 f(n) + g(n) = Omega((f(n))
。我们也可以得出类似的结论:f(n) + g(n) ≤ 2 f(n)
。因此 f(n) + g(n) = O(f(n))
。我无法理解为什么 f(n) + g(n) = Omega((f(n))
和 f(n) + g(n) = O(f(n))
为真。当我们将 g(n)
添加到 f( n)
?我们从g(n)
的值到底得出了什么结论?
最佳答案
证明 f(n)
的一种方法是theta(g(n))
是为了证明两个独立的陈述:f(n)
是omega(g(n))
, 和 f(n)
是O(g(n))
.很明显,从这些符号的定义来看,这种证明方式是正确的。
在这个确切的问题中,如果我们选择一些常量 c
等于1
,我们将有,对于每一个 n
, 那f(n) + g(n) >= c * f(n)
,因此,根据定义,表明 f(n) + g(n)
是Omega(f(n))
.此外,对于 O(f(n))
部分,如果我们选择常量 c
成为2
在这种情况下,我们需要证明存在一些 n0
这样 f(n) + g(n) <= c * f(n)
对于每个 n > n0
,相当于 g(n) <= f(n)
对于每个 n > n0
,相当于 g(n) = O(f(n))
的定义在问题陈述中给出。
希望这对您有所帮助。
关于algorithm - 渐近增长 : Understanding the specific proof of f(n) + little o(f(n)) = theta (f(n))?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52276455/
谁能证实这个算法的复杂度是 O(n^2)? a = 0 b = 0 c = n while (b <= c) { for (j = b; j<=c; j++) { a
问题(数据结构): 我们应该使用哪种表示来计算 O(|V|+|E|) 中图顶点的入度?这应该如何在 Khan 的算法中保持而不损害运行时间(渐近地)?证明您的主张。 我的尝试:我们应该使用矩阵表示来计
在某些情况下,对问题的蛮力方法具有复杂性,在性能方面不够好。 让我们举个例子西塔(n^2)。 使用递归方法可以将其改进为 Theta(nlogn)。 显然,渐近地人们会选择使用递归方法,因为对于越来越
我在 C++11 中使用 std::unordered_map。我在字符串键和复合数据类型之间做出决定(比如将两个 long 放在一个结构中以保存 UUID)。 当 hashmap 使用 std::s
它是 f(n)=theta(h(n)) 因为 theta 是可传递的。但是谁能解释为什么 h(n)=theta(f(n))。 最佳答案 通过定义扩展 Big-O 符号通常会使事情变得简单。 关于alg
我是一名优秀的程序员,十分优秀!