Java 最短路径数据结构
我正试图用贪心树算法想出一个最短路径算法。 示例:Dijkstra或Prim 然而,我似乎不知道我应该如何制作我的数据结构 当我试图创建一个数据结构时,我所能做的就是最终得到一个单向的解决方案,比如a到F。。但是你不能从F到A 现在我想知道,有没有人能给我一个Java喜欢的示例代码来设置这样的结构 我的最新尝试:Java 最短路径数据结构,java,algorithm,dijkstra,shortest-path,Java,Algorithm,Dijkstra,Shortest Path,我正试图用贪心树算法想出一个最短路径算法。 示例:Dijkstra或Prim 然而,我似乎不知道我应该如何制作我的数据结构 当我试图创建一个数据结构时,我所能做的就是最终得到一个单向的解决方案,比如a到F。。但是你不能从F到A 现在我想知道,有没有人能给我一个Java喜欢的示例代码来设置这样的结构 我的最新尝试: public class Point { //public List<Point> connections = new ArrayList<Point>
public class Point {
//public List<Point> connections = new ArrayList<Point>();
public List<Connection> connections = new ArrayList<Connection>();
public List<Point> connectedWith = new ArrayList<Point>();
public char name;
public Point(char name) {
this.name = name;
}
/*public Point getConnectionByIndex(int index) {
return this.connections.get(index);
}*/
}
亲切问候,,
拉尔西1
's_算法对于有向图,您想要一个数据结构来存储哪些边连接到哪些顶点?好吧。。我正试图找到一种方法来连接每一个vertice。每个连接都有一个“重量”。。我不确定它是否有针对性。我所能做的就是最终得到一个单向的解决方案,比如a到F。。但是你不能从F到A。。这通常意味着它是有方向的。在计算机科学中,Prim算法是一种贪婪算法,它为连通加权无向图找到最小生成树。。。可能只是我做错了但是不会改变我不知道怎么解的事实..看,如果图是无向的。您找到的从A到F的路径将与从F到A的路径相同。
public class Connection {
private Point nameFirst, nameSecond;
private int connectionLength;
public Connection(Point nameFirst, Point nameSecond, int connectionLength) {
this.setNameFirst(nameFirst);
this.setNameSecond(nameSecond);
this.connectionLength = connectionLength;
}
public int getConnectionLength() {
return connectionLength;
}
public void setConnectionLength(int connectionLength) {
this.connectionLength = connectionLength;
}
public Point getNameSecond() {
return nameSecond;
}
public void setNameSecond(Point nameSecond) {
this.nameSecond = nameSecond;
}
public Point getNameFirst() {
return nameFirst;
}
public void setNameFirst(Point nameFirst) {
this.nameFirst = nameFirst;
}
}