簡體   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