如何解决未加权的有向图 - Java
我是 Java 新手,我正在努力实现一个未加权的有向图。每个节点都持有一个 id 和一个对象数据。我不确定我的方法,所以我需要一些关于如何继续的建议。这是我的工作:
public class adjNode {
public String nodeId;
public Object data;
adjNode(String nodeId,Object data) {
this.data = data;
this.nodeId = nodeId;
}
}
public class Graph {
private Map<adjNode,List<adjNode>> map = new HashMap<>();
adjNode findNode(String nodeId) {
adjNode temp;
for (int i = 0; i < map.size(); i++) {
temp = (adjNode) map.get(i);
if (temp.nodeId == nodeId) {
return temp;
}
}
return null;
}
@Override
public void addNode(String name,Object data) {
adjNode newNode = new adjNode(name,data);
map.put(newNode,new LinkedList<>());
}
@Override
public Object getData(String nodeId) throws InvalidNodeException {
adjNode found = findNode(nodeId);
if (found != null) {
return found.data;
} else {
throw new InvalidNodeException(nodeId);
}
}
@Override
public void setData(String nodeId,Object data) throws InvalidNodeException {
adjNode found = findNode(nodeId);
if (found != null) {
found.data = data;
} else {
throw new InvalidNodeException(nodeId);
}
}
}
有意义吗?另外如何添加有向边并找到传入和传出的邻居? 感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。