algorithm - 找到属于图的两个不相交子集的任意两个节点之间的最短路径

标签 algorithm graph graph-algorithm shortest-path

有一个无向图,其中每个节点都分配了一些颜色。我必须找到从任何蓝色节点到任何红色节点的最短路径。 (图中也可能存在其他颜色,虽然这无关紧要,但不知道有多少种颜色。)如何在多项式时间内完成?

最佳答案

作为提示,向图中添加两个新节点 - 称它们为 s 和 t。将 s 连接到成本为 0 的边的每个蓝色节点,将每个红色节点连接到成本为 0 的边的 t。然后找到从 s 到 t 的最短路径。

希望这对您有所帮助!

关于algorithm - 找到属于图的两个不相交子集的任意两个节点之间的最短路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9708735/

相关文章:

algorithm - T(n) = T(n/2) + clog(n) = O(log(n)^2) 的归纳证明

algorithm - 用于拓扑排序的依赖图中的边缘方向?

python - 如何在链接数据结构上编写广度优先搜索算法?

algorithm - 最快的矩阵乘法是什么?

algorithm - 一星算法: using Heuristic value to act as Tie-breaker where nodes have identical F-values

java - n-顶点子图枚举的时间复杂度

algorithm - 查找 DAG 上两个节点之间的所有路径

层次结构中的 MySQL 世界数据库

c - C 中的邻接矩阵图

php - 在数据集中找到最真实的市场平均价格的算法