各ノードが他のノードに接続できるノードを持つグラフ クラスがあります。
public class Node {
List<Node> connections;
}
グラフ全体のディープコピーを作成したいと思います。最初の試みとして、次のようなコピー コンストラクタを作成してみました。
public Node(Node other) {
connections = new ArrayList<Node>();
for (Node n : other.connections) {
connections.add(new Node(n));
}
}
したがって、グラフのディープコピーは次のようになります。
public Graph deepCopy () {
Graph g = new Graph();
g.nodes = new ArrayList<Node>();
for (Node n : nodes) {
g.nodes.add(new Node(n));
}
}
しかし、それはノード間の接続関係を破壊するため機能しません。簡単な方法でこれを行うための提案があるかどうか疑問に思っていますか? ありがとう。