Algorithm 克鲁斯卡尔';s MST:使用Union Find DS:保证在边权重最小的节点之间发生连接的Union操作

Algorithm 克鲁斯卡尔';s MST:使用Union Find DS:保证在边权重最小的节点之间发生连接的Union操作,algorithm,data-structures,graph-algorithm,Algorithm,Data Structures,Graph Algorithm,在最小生成树中,我们需要以最小权重连接边,然后再移动到其他边。为了执行连接,我们使用UF DS的union操作,它连接不相交数据集的代表元素。是否可以保证代表元素将是我们想要加入的具有最小边权重的节点?如果我认为正确的话,连接很可能发生在要连接的组件的其他节点上 谢谢不,没有这样的保证。幸运的是,Kruskal使用不相交集数据结构来保持到目前为止扫描的边的连通性,而代表们对此并不重要。如果最终需要树结构,则需要做一些不同的事情(边集上的DFS,为不相交集数据结构生成动态树,以便可以连接实际端点,

在最小生成树中,我们需要以最小权重连接边,然后再移动到其他边。为了执行连接,我们使用UF DS的union操作,它连接不相交数据集的代表元素。是否可以保证代表元素将是我们想要加入的具有最小边权重的节点?如果我认为正确的话,连接很可能发生在要连接的组件的其他节点上


谢谢

不,没有这样的保证。幸运的是,Kruskal使用不相交集数据结构来保持到目前为止扫描的边的连通性,而代表们对此并不重要。如果最终需要树结构,则需要做一些不同的事情(边集上的DFS,为不相交集数据结构生成动态树,以便可以连接实际端点,使用Prim)。

因此,如果我打算计算MST的最小边和(使用Kruskal),我需要在加入阶段做,而不是在最后。否则,Kruskal的vis-a-vis-Prim似乎没有任何效用。@RutuparnDalvi是的。