我有一个大图,我正在使用JUNG处理。我想知道JUNG是否提供了一种方法来提取一个顶点的2跳邻居(其中包含所有边),并将其分解为单独的图?使用JUNG从图中提取子图?
3
A
回答
0
edu.uci.ics.jung.algorithms.connectivity.KNeighborhoodExtractor
尝试
7
在JUNG 2.0它是edu.uci.ics.jung.algorithms.filters.KNeighborhoodFilter:
用于提取围绕一个或多个根 节点(一个或多个)的k附近的过滤器。 k邻域被定义为由距离根节点为k或更少跳(顶点最短路径为 距离)的顶点集引起的子图。
这里是你如何使用它(假设你已经有一个图,顶点/边类型):
Graph<V, E> graph = // ...
int k = 3; // maximum hops
V startVertex = // ... (pick your starting node)
Filter<V, E> filter = new KNeighborhoodFilter<V, E>(
startVertex, k, EdgeType.IN_OUT);
Graph<V, E> neighborhood = filter.transform(graph);
的neighborhood
图将是相同的类作为您的原始图形。您将不得不为每个不同的起始节点创建一个新的过滤器。
这是来自现在非常过时的JUNG 1.x.以上答案是正确的。 – 2012-02-08 23:47:10