构造一个有效的最小生成树,使G中给定的顶点子集为叶子+证明

问题描述

我正在尝试设计一种算法,在给定连通权重图G =(V,E)和V中的一部分顶点U的情况下,将构造最小生成树,使得U中的所有顶点都是叶子(其他顶点也可能是叶子),或者返回不存在这样的树(假)。

这就是我得到的,适应了Prim的算法(合理的警告,它的确很糟糕;甚至不知道它是否有效/是否有效,或者不使用什么数据结构,我会接受 literal 而是使用其他正确的算法):

\n\[\"this is my code\"\]

我也有一张我认为会对这张图做些什么的图片: pic here

算法正确的证明也可以让我省心。

解决方法

如果要在解决方案中保留所有顶点u ∈ U,则可以在该解决方案中使用 no u来连接其他两个顶点。所有不在U中的顶点必须通过不与任何u入射的边连接。

移除U,并将所有边缘入射到U。找到最小的生成树,然后通过我们删除的树中可用的最小加权边将每个u连接到树。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...