为什么E支配v?

时间:2014-03-03 22:30:56

标签: algorithm big-theta kruskals-algorithm big-o

我分析了Kruskal算法的运行时间,我想出了O(ElogE + Elogv + v)

我问我的教授,他说如果图形非常稀疏,有许多孤立的顶点V支配E,如果没有那么有意义那么E支配V并且我无法理解为什么? 我可以给出一个示例,其中图形不稀疏,但V仍然大于E

任何人都可以帮助我清除这种困惑吗?

2 个答案:

答案 0 :(得分:3)

非定向图表中的tree具有|V|-1条边。

由于树是连接的组件,边缘越少越好 - 它基本上意味着对于每个连接的不定向图,| E |在Omega(|V|)中,所以| V |由| E |主导。

这基本上意味着如果|E| < |V|-1 - 图表未连接。

现在,由于Kruskal算法旨在查找生成树,因此您可以在找到|E| < |V|-1后中止算法 - 根本没有生成树,无需查找生成树。

我们得出结论,当|E| < |V|-1时,讨论Kruskal算法的复杂性是没有意义的,我们可以安全地假设|E| >= |V| -1,所以{{1} }由|V|支配。

答案 1 :(得分:0)

密度=边数/可能边数= E /(V(V-1))/ 2

让图形为树E = V-1

所以V =(E + 1)

而Kruskal的复杂性是

O(E log E + E log V + V)= O(E log E + E log(E + 1)+(E + 1))= O(E log E)

因此,E占主导地位。只要E = O(V),E就会占主导地位。