我正在使用 JUNG Graph。我正在处理的问题可以定义如下:
给定一个 JUNG Graph G={V,E} 和一条边 E1,找到 E1 连接的节点/顶点,如果它是叶节点,则删除该顶点。
所以,有两个部分:
- 查找由给定边 E1 连接的顶点。
- 查找给定顶点是否为叶节点?
这两个操作在 JUNG 中是否可以直接进行?如果没有,有人可以提出另一种方法来实现同样的目标。
(1)Graph.getIncidentVertices(E e1)
(2)您没有定义“叶节点”的含义,但假设您指的是有向图和一个具有一条入边且没有出边的顶点,这很容易:
Graph.getIncomingEdges().size() == 1
Graph.getOutgoingEdges().isEmpty())
如果图不是多重图,您也可以这样做:
Graph.getPredecessorCount() == 1
Graph.getSuccessorCount() == 0
JUNG 的 Javadoc 非常好;在提出此类问题之前,您应该考虑浏览它:http: //jung.sourceforge.net/doc/api/index.html