在有向图上表示边的最佳方法是什么?我通过创建一个类Node来表示它,在这个类中我定义了一个包含该节点的连接节点的列表。边缘由元组(开始,结束)和(开始,结束)表示!=(结束,开始)
import java.util.LinkedList;
public class Node<T> {
public T data;
public List<T> children; // here there are the neighbors
public Node(T data) {
this.data = data;
this.children = new LinkedList<>();
}
public T getData() {
return data;
}
public LinkedList<T> getChildren() {
return children;
}
}
我说的是因为我想找到从源头到目的地的最短路径,但很难理解如何去做以及如何避免周期等等。我知道有Dijkstra算法,但它&#39 ; s为加权图。我必须代表一个没有重量的有向图。