[英]Directed graph implementation in Java
我现在正在使用Java中的数据结构类,我们将弄清楚如何实现有向图类。
就在最上面,我认为拥有一个具有值字段和链接(自引用)字段数组的链接列表种类类,如下面的代码:
public class Digraph<T>
{
T vertex;
Digraph<T>[] edge;
public Digraph(T val, int maxDegree)
{
vertex = val;
edge = new Digraph<T>[maxDegree];
}
}
在我写完这些之后,我意识到这不是接近此提示的一种简单方法。 如何实现不像我的代码那么混乱的有向图? 还是这样可以吗?
我认为使用链接列表方法来实现图形并不是一个好的想法。 与链表和树不同,Graph本质上不是递归结构。
我将基于以下事实来实现它: 一个图形由一个顶点列表组成,并且每个顶点都通过Edges连接到其邻居 :
class Graph<E> {
public List<Vertex<E>> vertexs;
}
class Vertex<E> {
public E val;
public List<Edge<E>> connections;
}
class Edge<E> {
public Vertex<E> source;
public Vertex<E> destination;
}
但是,表示图的最简单方法是使用Adjacency_matrix
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.