【问题标题】:Slowest Computational Complexity (Big-O)最慢的计算复杂度 (Big-O)
【发布时间】:2013-04-29 14:51:19
【问题描述】:

在这些算法中,我知道 Alg1 是最快的,因为它是 n 平方的。接下来是 Alg4,因为它是 n 立方的,然后 Alg2 可能是最慢的,因为它是 2^n(这应该是性能非常差的)。

但是,就速度而言,Alg3 和 Alg5 是我在阅读中尚未遇到的。这两种算法如何在更快和更慢方面排名其他 3?感谢您的帮助。

编辑:现在我想一想,Alg3 是指 O(n log n) 吗?如果 ln 里面的意思是“log”,那它会是最快的。

【问题讨论】:

  • O(n logn) 实际上比 O(n²) 快,因为 O(logn)
  • 2^n = 2*2*...*2 < 1*2*3*...*n = n!(至少对于大的n)
  • Big Oh 并没有告诉您一种算法比另一种算法慢/快,就您可能想到的这个词而言。它只是告诉您某个数量(有时是理想化机器上的执行时间或内存消耗,有时是执行某些操作的次数,有时是完全不同的数量)如何渐近变化,即n增长。
  • “在这些算法中,我知道 Alg1 是最快的,因为它是 n 平方的” 你的考试/作业问题是这样表述的吗? O() 表示法是关于 渐近 复杂性的。在实践中,有 n^2 种算法的常数很糟糕。
  • 好吧,这个问题的措辞是“哪个效率更高或渐近最快”,但我有点急于发布这个问题,只想快速回复,这样我就可以进入下一个问题了我的学习大声笑

标签: algorithm big-o computation-theory


【解决方案1】:
猜你喜欢
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
相关资源
最近更新 更多