创建图形以迫使Kruskal算法出现最坏情况

时间:2017-04-16 22:53:55

标签: c++ algorithm case

我想用许多节点制作一个grpah来强制kruskal算法在最坏的情况下。应该是什么样的图表?我被卡住了。

1 个答案:

答案 0 :(得分:1)

假设您正在使用dijoint集实现kruskal算法,并使用稳定的“快速”算法对边进行排序,您将遇到 O(E log E)最坏情况。你也可以有 E = O(V ^ 2),所以最坏的情况也是 O(E log V)。我们可以得出结论,运行时间主要由堆操作决定,因此通常算法在考虑所有边之前终止,因此在实践中更快。考虑到所有这些,为了重现最坏的情况你要做的就是最大化你的图形,考虑到每个顶点都有连接到所有其他顶点的边