- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有谁知道如何进行这样的计算示例:
O(n^2) + THETA(n) + OMEGA(n^3) = ?
或
O(n^2) * THETA(n) * OMEGA(n^3) = ?
一般情况下,不同的渐近符号如何相加和相乘?
最佳答案
O
给出了一个上限;
Ω
给出了一个下限;
Θ
给出一个渐近边界;
Wikipedia有一个很好的图表来解释这些。
因此这些在一般情况下确实没有可比性。
对于你的第一个案例,
O(n^2) + Θ(n) + Ω(n^3)
让我们首先处理 O
。第一项告诉我们 O(n^2)
,第二项告诉我们 O(n)
。基于这两个,我们知道到目前为止我们有 O(n^2)
作为上限。然而,第三项没有告诉我们任何关于上界的信息!所以我们真的无法对 O
做出任何结论。
这里的重点是 O
和 Θ
只给你关于 O
的信息,而 Ω
和 Θ
仅提供有关 Ω
的信息。这是因为 Θ(g(n))
意味着 O(g(n))
和 Ω(g(n))
,所以我们可以将 Θ
更改为适合给定分析的 O
和 Ω
中的任何一个。
然而,这三个一起,甚至只是 O
和 Ω
,都会让您一头雾水,因为既不是 O
也不是 Ω
暗示关于另一个的任何事情。
关于algorithm - 相乘和相加不同的渐近符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733179/
谁能证实这个算法的复杂度是 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
我是一名优秀的程序员,十分优秀!