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