【发布时间】:2019-10-11 19:25:43
【问题描述】:
我的任务是,给定图 G 中与 E 条道路相连的 V 个村庄,每条道路都标有一个正数。你必须至少达到这个数字的水平才能进入这条道路。换句话说,如果一条道路标为 5,那么您的等级必须至少为 5 或更高才能进入这条道路。现在我的任务要求设计算法,找到能够从任何其他村庄到达 V 中任何村庄所需的最低许可级别。所以,我的解释是我们可以在图中找到最大权重边。但我还没有弄清楚哪种算法适合这种情况。
【问题讨论】:
-
@mangusta 如果图有顶点 A、B、C 和边 (AB,1)、(BC,1) 和 (AC,1.5),则级别 1 可以使用边传播到任何地方(AB) 和 (BC),但从 A 到 C 的最短路径的最大权重为 1.5。
-
@conditionalMethod,感谢您指出这一点!你是对的
-
您可以将边从最小权重排序到最大。从图的一组顶点开始,没有边。开始按先前的顺序将边添加到图形中。在图形未连接或边用完时继续添加边。添加的最后一条边的权重为您提供解决方案。
-
用于测试连通性:当您添加第一个边标记时,它连接的两个顶点。添加新边时,标记可以使用新边到达的任何新顶点。只要有没有标记的顶点,图仍然是不连通的。
-
这基本上就是 Kruskal 的最小生成树算法的工作方式)简单来说我们需要选择最小生成树的最大边