我有一个带有 4 个节点的图,这些节点与其他节点相连。每个连接都有重量。例如:
A -> 5 -> B
A -> 3 -> C
B -> 4 -> C
B -> 3 -> D
每个节点都有相应的反向连接。但是我在实现这种反向连接时遇到了问题。这是我现在拥有的算法(用文字表示):
- 创建节点(A、B、C、D)
- 将节点 A 连接到节点 B
- 设置连接权重
- 对其他节点重复 2,3。
按照这个算法,我必须分别建立反向连接(节点 B 到节点 A)。如果我有 100 个或更多节点,这将是我注意的试验。
在连接创建过程中如何建立这些反向连接?
这是一个节点类:
public class Node {
private String name;
private Map<Node, Integer> connections;
public Node(String name) {
this.name = name;
connections = new HashMap<Node, Integer>();
}
public void connect(Node node, int weight) {
connections.put(node, weight);
//It is expected to make backward connection here
}
}