big-o - 如何判断两个函数的Big-Theta和Big-Omega是否相等?

标签 big-o complexity-theory

我有一个作业要证明这些是对还是错:

  • a) 150n^3 + 43n^2 + 50^n + 3 = Ω(n^5)
  • b) n^10 + 30n^8 + 80n^6 = O(n^12)
  • c) 55n + 30 = O(n log n)
  • d) n^4 + 4 n^3 + 6 n^2 + n log n= θ(2n)
  • e) 9n^2 log n + 40n^2 + 3n = Ω(n^2 log n)

我可以对 Big-O 做 B 和 C。任何人都可以帮助解决 Big-Omega 和 Big-Theta 问题吗?

(不是寻找答案,而是学习操作方法)。

最佳答案

函数 f 是 Omega(g) 当且仅当存在 n0 和 c 大于零,且 n >= n0,f(n) >= c*g(n)。

函数 f 是 Big-Oh(g) 当且仅当存在大于零的 n0 和 c,并且对于 n >= n0,f(n) <= c*g(n)。

函数 f 是 Theta(g) 当且仅当 f 既是 Omega(g) 又是 Big-Oh(g)。

(a) 150n^3 + 43n^2 + 50n + 3 不是 Omega(n^5),因为高阶项 150n^3 的增长速度比 n^5 渐近慢,因为幂较小。

(b) n^10 + 30n^8 + 80n^6 是 O(n^12),因为高阶项 n^10 的增长速度比 n^5 渐近慢,因为幂较小。

(c) 55n + 30 是 O(n log n),因为高阶项 55n 比 nlog(n) 增长得更慢,因为最终 log(n) 项变得比 55 大得多(对于具体来说,n > 2^55)。

(d) n^4 + 4 n^3 + 6 n^2 + n log n 不是 Theta(2n),因为高阶项 n^4 比 2n 渐近增长得更快,因为幂更大。它也不是 Theta(2^n),如果这就是您的实际意思,因为 n^4 的增长速度渐近地慢于 2^n。

(e) 9n^2 log n + 40n^2 + 3n 是 Omega(n^2 log n),因为高阶项 9n^2log(n) 的增长速度与 n^2 log n 的渐进速度一样快.

如有必要,所有这些陈述都可以从定义中证明,如果您希望看到一两个示例,请告诉我。

关于big-o - 如何判断两个函数的Big-Theta和Big-Omega是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66037388/

相关文章:

algorithm - 该算法的大 O 表示法是什么

java - 您如何看待一种算法优于另一种算法的地方

algorithm - 是否有一种算法可以在不重复的情况下在加权图中找到最佳的一对顶点?

complexity-theory - NP 中不是 P 的所有问题都是 NP 完全的吗?

algorithm - 复杂度是 O(log(n) + log(n/2) + log(n/4) + log(n/8) + ... + log(2)) = O(log(n)) 吗?

algorithm - 3Sum 的时间复杂度较小

java - 这个算法的时间复杂度是多少?

time-complexity - Big O - Log(A) + Log(B) == Log(AB) 复杂吗?

algorithm - 字符串分析

algorithm - 确定有序数组复杂度之间的交集