ハミルトニアンサイクルの出力を生成する隣接行列をJavaで実装しようとしています。これは、クラスラル、ジクストラ、2optアプローチなどのさまざまなアルゴリズムで解決できます。2 次元配列が必要であることはわかっていますが、どこから始めればよいかわかりません。マトリックスを保存して、現在持っているグラフに適用できるようにする必要があります。これは、現在「n」個のノードを持つ円です(マトリックスに依存)。すべての助けを歓迎します、ありがとう
5032 次
1 に答える
5
作業できるスケルトンは次のとおりです。
public class Graph {
public final int V;
private boolean[][] hasEdge;
public Graph(int V) {
this.V = V;
hasEdge = new boolean[V][V];
}
public void addEdge(int v1, int v2) {
hasEdge[v1][v2] = hasEdge[v2][v1] = true;
}
public boolean hasEdge(int v1, int v2) {
return hasEdge[v1][v2];
}
}
改善できる点:
- ノード間に複数のエッジを許可することはできますか?
- 加重エッジを許可するかもしれませんか?
- たぶん、頂点
Node
のインデックスの代わりにタイプを使用しますか?int
- 等...
于 2010-03-25T13:55:25.667 に答える