具有共享边界的最小连接区域的图论算法

Graphy Theory Algorithm for minimally connecting areas with shared boundaries

本文关键字:区域 算法 连接 共享 边界      更新时间:2023-10-16

我有一个多个"动物笔"的加权图,每个笔至少有3个边/点和至少两个笔。为了连接所有笔,我必须计算出要移除的最小加权边(你也可以通过移除未连接到其他笔的外边缘来连接它们)。

有人能推荐一种算法或流程吗?我可以用它来找到要拆除的最小重量墙。我在考虑Prim的算法,但我甚至不完全确定如何应用它。

这是关于的问题S4http://cemc.math.uwaterloo.ca/contests/computing/2010/stage1/seniorEn.pdf

我不希望答案只是关于如何接近

的一些方向

你正朝着正确的方向前进。

将问题建模为无向图G=(V,E),其中V = { all pens }E = { (u,v) | there is a wall between u and v }w((u,v)) = cost of wall between u and v

为了"连接所有的笔",你实际上正在寻找一个子图:G'=(V,E'),这样子图G'就会连接[每两个节点之间有一条路径],并且E'中的墙的成本最小。

为了以最低的成本得到这个-你正在寻找最小生成树。[很容易看出,你确实需要一棵树,因为创建树后的任何额外边缘都是多余的,可以在不损害图形连接的情况下删除,或者从问题的角度来看,你可以恢复一面墙,笔将保持连接]

两种可能的算法将为您提供MST是Prim和Kruskal