3

JUNG を使用して処理している大きなグラフがあります。JUNG が、たとえば頂点の 2 ホップ近傍 (それらの間のすべてのエッジを含む) を別のグラフに抽出する方法を提供するかどうか疑問に思っていましたか?

4

2 に答える 2

7

JUNG 2.0 ではedu.uci.ics.jung.algorithms.filters.KNeighborhoodFilterです:

1 つまたは複数のルート ノードの周囲の 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グラフと同じクラスになります。異なる開始ノードごとに新しいフィルターを作成する必要があります。

于 2010-07-29T16:10:04.720 に答える
0

試すedu.uci.ics.jung.algorithms.connectivity.KNeighborhoodExtractor

于 2010-07-07T21:25:51.480 に答える