Skip to content

Latest commit

 

History

History
50 lines (39 loc) · 1.85 KB

pgx_builtin_s7_in_degree_distribution.md

File metadata and controls

50 lines (39 loc) · 1.85 KB

In-Degree Distribution

This version of the degree distribution will return a map with the distribution of the in-degree (i.e. just incoming edges) of the graph. For undirected graphs the algorithm will consider all the edges (incoming and outgoing) for the distribution.

Signature

Input Argument Type Comment
G graph the graph.
Output Argument Type Comment
distribution map<int, long> map holding a histogram of the vertex degrees in the graph.
Return Value Type Comment
void None

Code

/*
 * Copyright (C) 2013 - 2025 Oracle and/or its affiliates. All rights reserved.
 */
package oracle.pgx.algorithms;

import oracle.pgx.algorithm.PgxGraph;
import oracle.pgx.algorithm.PgxMap;
import oracle.pgx.algorithm.annotations.GraphAlgorithm;
import oracle.pgx.algorithm.annotations.Out;

@GraphAlgorithm
public class IndegreeDistribution {
  public void indegreeDistribution(PgxGraph g, @Out PgxMap<Long, Long> distribution) {
    g.getVertices().forSequential(n -> {
      long degree = n.getInDegree();

      distribution.increment(degree);
    });
  }
}