4.10.1.2 反復
PGXアルゴリズムの最も一般的な操作は、反復(すべての頂点のループ、頂点の近隣のループなど)およびグラフ・トラバーサル(幅優先/深さ優先など)です。すべてのコレクションが、forEach
メソッドとforSequential
メソッドを公開します。これらのメソッドにより、コレクションはそれぞれ並列、および順に反復処理できます。
次に例を示します。
- グラフの頂点を並列して反復処理するには:
G.getVertices().forEach(v -> { ... });
- グラフの頂点を順に反復処理するには:
G.getVertices().forSequential(v -> { ... });
- グラフの頂点を
r
から幅優先順にトラバースするには:import oracle.pgx.algorithm.Traversal; Traversal.inBFS(G, r).forward(n -> { ... });
forward
(またはbackward
)ラムダ内部では、currentLevel()
をコールすることによってBFS (またはDFS)トラバーサルの現在のレベルにアクセスできます。
親トピック: カスタムPGXアルゴリズムの作成