私はJavaでグラフを実装するタスクを与えられました。それは最終的に検索方法をテストするために使用されます(幅の広いものから深いものまで、繰り返し深いものから)。 mainメソッドは、グラフクラスであろう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();
:なされるべき3つのクラスが3つの対応するインタフェースを実装しなければなりません。
私は、コンストラクタではなく各クラスのメソッドを作成する理由について少し混乱しています。
また、隣接行列や隣接リストを使用してエッジを保存する必要があるかどうかについてアドバイスできますか?
すべてのご協力をよろしくお願いいたします。
ありがとう
ここに近い投票があります。おそらく、あなたの疑問を「Javaインターフェイスの奇妙なコンストラクタのようなメソッド」に変更すると、それがより魅力的になるかもしれません。ちょっとした考え。 –