反向删除算法如何找到最小生成树

发布:2022-11-02 11:43:14
阅读:16762
作者:网络整理
分享:复制链接

反向删除算法的目的是通过删除高权重的边来找到最小生成树,其算法逻辑是,先对加权图所有的边进行降序排列,从最高权重的边开始执行删除操作,如果删除该边不影响加权图连接,则删去这条边并继续删除筛选;如果删除该边会影响加权图链接,则恢复保留删除的边,继续删除筛选。直至遍历完所有的边,最后就能输出最小生成树。

反向删除算法输出最小生成树实例

初始加权图

上述加权图为初始图,根据反向删除算法,先删除权重为14的最高权重边,因加权图不会断开连接,因此将其删除。

接下来删除权重边11,删除它不会断开加权图,将其删除;

接下来删除权重边10,删除它不会断开加权图,将其删除;

接下来删除权重边9,删除后会导致加权图断开连接,因此保留权重边9;

接下来删除权重边8,因为权重边8有2条,在权重边缘相同的情况下,我们可以选择相同权重边缘的任何边缘。这里我选择边(0,7);

接下来删除权重边7,因为权重边7有2条,这里我选择边(2,3);

接下来删除权重边6,删除它不会断开加权图,将其删除;

接下来删除权重边4,删除后会导致加权图断开连接,因此保留权重边4;

接下来删除权重边2,删除后会导致加权图断开连接,因此保留权重边2;

接下来删除权重边1,删除后会导致加权图断开连接,因此保留权重边1;

至此,已经遍历完所有的边,输出得到最小生成树,如下图:

最小生成树

扫码进群
微信群
免费体验AI服务