想在一个有向图中找到两点之间的全部路径 使用了JgraphT 的AllDirectedPaths.getAllPaths。发现这个方法没有办法找到直达的路径,其他路径都可以找到。想请问有人知道为什么吗?下面是一个很简单demo的代码
DirectedGraph<Integer,DefaultEdge> dgraph=new DefaultDirectedGraph<Integer, DefaultEdge>(DefaultEdge.class);
dgraph.addVertex(1);
dgraph.addVertex(2);
dgraph.addVertex(3);
dgraph.addVertex(4);
dgraph.addEdge(1,2);
dgraph.addEdge(1,3);
dgraph.addEdge(2,3);
dgraph.addEdge(2,4);
dgraph.addEdge(3,4);
dgraph.addEdge(1,4);
AllDirectedPaths allPaths = new AllDirectedPaths(dgraph);
List<GraphPath<Integer, DefaultEdge>> pathList= allPaths.getAllPaths(1, 2, true, 10);
for(GraphPath<Integer, DefaultEdge> path:pathList){
System.out.println(path.getEdgeList());
}
结果应该是1-4 1-2-4 1-3-4 1-2-3-4,可是唯独没有1-4 1-4的边是存在的 不知道为什么没有这条路径