Algorithms for graphs and networks.
These algorithms are divided into categories as follows:
blockmodel: dividing graph elements (typically vertices) into
equivalence classes,
generally by topological properties (e.g. structural equivalence)
cluster: identifying coherent (not necessarily disjoint) groups of elements
(e.g. weakly connected components, edge betweenness clustering)
filters: removing parts of a graph according to specified criteria
flows: calculating properties relating to network flows
(e.g. max flow/min cut)
generators: creating graphs with certain properties
importance (deprecated): assigning values to vertices/edges
based on topological properties
layout: arrangement of graph elements, generally for visualization
metrics: calculating structural properties (triad census, structural
holes)
scoring: assigning values (denoting significance, influence,
centrality, etc.) to vertices/edges based on topological properties,
e.g. PageRank, HITS, betweenness centrality (replaces "importance", above)
shortestpath: calculation of shortest paths between vertices
util: low-level utility classes used in a variety of algorithms