我已經給出了一個在java中實現圖的任務。它最終將用於測試搜索方法(廣度優先,深度優先和迭代深化)。這三個類需要實現三個相應的接口:在Java中實現圖
public interface Node {
public Node createNode(String name, int ID, float weight);
public Node[] getNeighbours();
public Edge[] getEdges();
public void addEdge(Edge e);
public void removeEdge(Edge e);
public String getName();
public int getID();
public float getWeight();
public String toString();
public interface Edge {
public Edge createEdge(String name, int ID, float weight);
public Node getStartNode();
public void setStartNode(Node n);
public Node getEndNode();
public void setEndNode(Node n);
public String getName();
public int getID();
public float getWeight();
public String toString();
public interface Graph {
public Graph createGraph(String name, int ID, Node[] nodes, Edge[] edges, Node root);
public String getName();
public Edge[] getEdges();
public void addEdge(Edge e);
public Edge getEdge(String name, int ID);
public void removeEdge(Edge e);
public Node[] getNodes();
public void addNode(Node n);
public Node getNode(String name, int ID);
public void removeNode(Node n);
public void setRoot(Node n);
public Node getRoot();
public boolean isTree(); <= optional!
public String toString();
主要方法將在圖類中。
我有點困惑,爲什麼有創建方法爲每個類而不是構造函數。
而且任何人都可以建議對我是否應該使用鄰接矩陣或adjancency列表存儲的邊緣?
任何和所有的幫助將不勝感激。
謝謝
我看到這裏有一個密切的投票。也許將您的問題重新命名爲「Java接口中類似奇怪的構造函數的方法」可能會使它更具吸引力。只是一個想法。 –