gpt4 book ai didi

java - 如何在图中建立反向节点连接?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:34:11 25 4
gpt4 key购买 nike

我有一个包含 4 个节点的图表,这些节点与其他节点相连。每个连接都有权重。例如:

A -> 5 -> B

A -> 3 -> C

B -> 4 -> C

B -> 3 -> D

每个节点都有相应的反向连接。但是我在实现这种反向连接时遇到了问题。这是我现在拥有的算法(用文字):

  1. 创建节点(A、B、C、D)
  2. 将节点 A 连接到节点 B
  3. 设置连接权重
  4. 对其他节点重复 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
}
}

最佳答案

像这样:

public void connect(Node node, int weight) {
connections.put(node, weight);
node.connections.put(this, weight);
}

由于 Node 被用作 connections 映射中的键,不要忘记覆盖它的 equalshashCode 方法。

关于java - 如何在图中建立反向节点连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com