我有一个带有彩色边缘的有向图(红色为&蓝色),可能包含循环。问题是写一个给定两个顶点(s,t)的算法,找到s和t之间颜色变化最小的路径(如果存在这样的路径)。 (我创建了一个新的图,其中每个顶点对应于前一个图的边,并且包含边的颜色,例如:if(1,2)是(1/2)是新图中的一个顶点,我连接了“相邻边”顶点,新图中改变颜色的边的权重为1,同一颜色变换为0 )。具有彩色边缘的图形中具有最少改变次数的路径
我正在寻找线性时间(V和E)的解决方案。上面的一个在新图中使用VxE边。
有没有这样的解决方案来找到最小路径?
谢谢。但是我怎样才能在线性时间内将这种减少做到最短路径问题呢?加权图的构造需要E倍V边缘,如果我正确的话 – lc26
@ lc26对不起,忽略了这一点。我添加了一个线性减少到我的答案的最短路径。 – ead