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>

我正试图用贪心树算法想出一个最短路径算法。 示例:Dijkstra或Prim 然而,我似乎不知道我应该如何制作我的数据结构

当我试图创建一个数据结构时,我所能做的就是最终得到一个单向的解决方案,比如a到F。。但是你不能从F到A

现在我想知道,有没有人能给我一个Java喜欢的示例代码来设置这样的结构

我的最新尝试:

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;
    }

}