我想在有向(非循环)图中找到最长的路径。假设我知道起始节点 - 接收器。路径应该从这一点开始。我在想我可以将边的权重设置为-1。有很多方法可以找到所有最短路径,但你必须通过终点。是否有可能获得最短路径(无论结束节点)?
DirectedAcyclicGraph graph = new DirectedAcyclicGraph<Integer, DefaultEdge>(DefaultEdge.class);
graph.addVertex(1);
graph.addVertex(2);
graph.addVertex(3);
graph.addVertex(4);
graph.addVertex(5);
graph.addVertex(6);
graph.addVertex(7);
graph.addVertex(8);
try {
graph.addDagEdge(1, 2);
graph.addDagEdge(2, 3);
graph.addDagEdge(3, 4);
graph.addDagEdge(5, 6);
graph.addDagEdge(2, 7);
graph.addDagEdge(7, 8);
} catch(Exception e) {
}
//????????????????
假设我想找到节点 nr 1(接收器)的最长路径。所以这个算法应该给我1-2-3-4-5-6。