This documents the development version of NetworkX. Documentation for the current release can be found here.


extrema_bounding(G, compute='diameter')[source]

Compute requested extreme distance metric of undirected graph G

Computation is based on smart lower and upper bounds, and in practice linear in the number of nodes, rather than quadratic (except for some border cases such as complete graphs or circle shaped graphs).

  • G (NetworkX graph) – An undirected graph

  • compute (string denoting the requesting metric) – “diameter” for the maximal eccentricity value, “radius” for the minimal eccentricity value, “periphery” for the set of nodes with eccentricity equal to the diameter “center” for the set of nodes with eccentricity equal to the radius


value – int for “diameter” and “radius” or list of nodes for “center” and “periphery”

Return type

value of the requested metric


NetworkXError – If the graph consists of multiple components


This algorithm was proposed in the following papers:

F.W. Takes and W.A. Kosters, Determining the Diameter of Small World Networks, in Proceedings of the 20th ACM International Conference on Information and Knowledge Management (CIKM 2011), pp. 1191-1196, 2011. doi:

F.W. Takes and W.A. Kosters, Computing the Eccentricity Distribution of Large Graphs, Algorithms 6(1): 100-118, 2013. doi:

M. Borassi, P. Crescenzi, M. Habib, W.A. Kosters, A. Marino and F.W. Takes, Fast Graph Diameter and Radius BFS-Based Computation in (Weakly Connected) Real-World Graphs, Theoretical Computer Science 586: 59-80, 2015. doi: