Use this if you are using igraph from R
| diameter {igraph} | R Documentation |
The diameter of a graph is the length of the longest geodesic.
diameter(graph, directed = TRUE, unconnected = TRUE, weights = NULL)
graph |
The graph to analyze. |
directed |
Logical, whether directed or undirected paths are to be considered. This is ignored for undirected graphs. |
unconnected |
Logical, what to do if the graph is unconnected. If FALSE, the function will return a number that is one larger the largest possible diameter, which is always the number of vertices. If TRUE, the diameters of the connected components will be calculated and the largest one will be returned. |
weights |
Optional positive weight vector for calculating weighted
distances. If the graph has a |
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_vertices returns two vertex ids, the vertices which are
connected by the diameter path.
A numeric constant for diameter, a numeric vector for
get_diameter. farthest_vertices returns a list with two
entries:
vertices The two vertices that are the farthest.
distance Their distance.
Gabor Csardi csardi.gabor@gmail.com
g <- make_ring(10)
g2 <- delete_edges(g, c(1,2,1,10))
diameter(g2, unconnected=TRUE)
diameter(g2, unconnected=FALSE)
## Weighted diameter
set.seed(1)
g <- make_ring(10)
E(g)$weight <- sample(seq_len(ecount(g)))
diameter(g)
get_diameter(g)
diameter(g, weights=NA)
get_diameter(g, weights=NA)