繁体   English   中英

Java中的有向图实现

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM