【问题标题】:Which time complexity is faster (V^2 + E) or (E log V)(V^2 + E) 或 (E log V) 哪个时间复杂度更快
【发布时间】:2014-04-16 10:16:31
【问题描述】:

我有一个图,其中有大量边到顶点n(n-1)/2。如果我有 16 个顶点 16^2 + 120376120 * log2(16)480。所以这里V^2 更快?我的计算是否正确?如果正确,顶点的大小何时会达到E log v 的速度更快?

【问题讨论】:

  • 请记住,渐近分析不一定用于测量特定输入的时间。它用于衡量如果您的输入开始趋于无穷大时事物的行为方式。

标签: performance graph complexity-theory time-complexity


【解决方案1】:

渐近符号告诉您执行时间如何随着输入的增加而增加,并且不允许您进行诸如“对于V = 10, E = 15 我得到的值比另一个小”之类的比较。

如果你有两种算法,时间复杂度为O(V^2 + E)O(E log V),你唯一能说的是第一个算法更适合密集图,而另一个算法更适合稀疏图(假设V^2 = E 用于密集图) V = E 表示稀疏)。

【讨论】:

  • 太棒了!谢谢,你能建议一个 n(n-1)/2 边的图是密集的吗?
  • 是的,O(n(n-1)/2) = O(n^2),所以它很密集。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
  • 2015-01-01
  • 2019-01-29
  • 2022-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多