Function betweenness_centrality_clustering

boost::betweenness_centrality_clustering — Graph clustering based on edge betweenness centrality.


template<typename MutableGraph, typename Done, typename EdgeCentralityMap, 
         typename VertexIndexMap> 
  void betweenness_centrality_clustering(MutableGraph & g, Done done, 
                                         EdgeCentralityMap edge_centrality, 
                                         VertexIndexMap vertex_index);
template<typename MutableGraph, typename Done, typename EdgeCentralityMap> 
  void betweenness_centrality_clustering(MutableGraph & g, Done done, 
                                         EdgeCentralityMap edge_centrality);
template<typename MutableGraph, typename Done> 
  void betweenness_centrality_clustering(MutableGraph & g, Done done);




The function object that indicates termination of the algorithm. It must be a ternary function object thats accepts the maximum centrality, the descriptor of the edge that will be removed, and the graph g .


(UTIL/OUT) The property map that will store the betweenness centrality for each edge. When the algorithm terminates, it will contain the edge centralities for the graph. The type of this property map must model the ReadWritePropertyMap concept. Defaults to an iterator_property_map whose value type is Done::centrality_type and using get(edge_index, g) for the index map.


The graph on which clustering will be performed. The type of this parameter (MutableGraph ) must be a model of the VertexListGraph, IncidenceGraph, EdgeListGraph, and Mutable Graph concepts.


(IN) The property map that maps vertices to indices in the range [0, num_vertices(g)). This type of this property map must model the ReadablePropertyMap concept and its value type must be an integral type. Defaults to get(vertex_index, g) .

This algorithm implements graph clustering based on edge betweenness centrality. It is an iterative algorithm, where in each step it compute the edge betweenness centrality (via brandes_betweenness_centrality) and removes the edge with the maximum betweenness centrality. The done function object determines when the algorithm terminates (the edge found when the algorithm terminates will not be removed).

Where Defined

Copyright © 2004 Douglas Gregor, Indiana University (
Andrew Lumsdaine, Indiana University (