Diameter of a graph
The diameter of a graph is the length of the longest geodesic.
diameter(graph, directed = TRUE, unconnected = TRUE, weights = NULL) get.diameter (graph, directed = TRUE, unconnected = TRUE, weights = NULL) farthest.nodes (graph, directed = TRUE, unconnected = TRUE, weights = NULL)
- The graph to analyze.
- Logical, whether directed or undirected paths are to be considered. This is ignored for undirected graphs.
- Logical, what to do if the graph is unconnected. If FALSE, the function will return the largest possible diameter which is the number of vertices. If TRUE, the diameters of the connected components will be calculated and the largest one will b
- Optional positive weight vector for calculating
weighted distances. If the graph has a
weightedge attribute, then this is used by default.
The diameter is calculated by using a breadth-first search like method.
get.diameter returns a path with the actual diameter. If there
are many shortest paths of the length of the diameter, then it returns
the first one found.
farthest.points returns two vertex ids, the vertices which are
connected by the diameter path.
- A numeric constant for
diameter, a numeric vector for
get.diameterand a numeric vector of length two for
g <- graph.ring(10) g2 <- delete.edges(g, c(0,1,0,9)) diameter(g2, unconnected=TRUE) diameter(g2, unconnected=FALSE) ## Weighted diameter set.seed(1) g <- graph.ring(10) E(g)$weight <- sample(seq_len(ecount(g))) diameter(g) get.diameter(g) diameter(g, weights=NA) get.diameter(g, weights=NA)