Class BetweennessCentrality<V,​E>

  • All Implemented Interfaces:
    IterativeContext

    public class BetweennessCentrality<V,​E>
    extends AbstractRanker<V,​E>
    Computes betweenness centrality for each vertex and edge in the graph. The result is that each vertex and edge has a UserData element of type MutableDouble whose key is 'centrality.BetweennessCentrality'. Note: Many social network researchers like to normalize the betweenness values by dividing the values by (n-1)(n-2)/2. The values given here are unnormalized.

    A simple example of usage is:

     BetweennessCentrality ranker = new BetweennessCentrality(someGraph);
     ranker.evaluate();
     ranker.printRankings();
     
    Running time is: O(n^2 + nm).
    See Also:
    "Ulrik Brandes: A Faster Algorithm for Betweenness Centrality. Journal of Mathematical Sociology 25(2):163-177, 2001."
    • Constructor Detail

      • BetweennessCentrality

        public BetweennessCentrality​(edu.uci.ics.jung.graph.Graph<V,​E> g)
        Constructor which initializes the algorithm
        Parameters:
        g - the graph whose nodes are to be analyzed
      • BetweennessCentrality

        public BetweennessCentrality​(edu.uci.ics.jung.graph.Graph<V,​E> g,
                                     boolean rankNodes)
      • BetweennessCentrality

        public BetweennessCentrality​(edu.uci.ics.jung.graph.Graph<V,​E> g,
                                     boolean rankNodes,
                                     boolean rankEdges)
    • Method Detail

      • computeBetweenness

        protected void computeBetweenness​(edu.uci.ics.jung.graph.Graph<V,​E> graph)
      • getRankScoreKey

        public java.lang.String getRankScoreKey()
        the user datum key used to store the rank scores
        Specified by:
        getRankScoreKey in class AbstractRanker<V,​E>
        Returns:
        the key