public class DistanceStatistics
extends java.lang.Object
Formerly known as GraphStatistics
in JUNG 1.x.
Constructor and Description |
---|
DistanceStatistics() |
Modifier and Type | Method and Description |
---|---|
static <V,E> org.apache.commons.collections15.Transformer<V,java.lang.Double> |
averageDistances(Hypergraph<V,E> g)
For each vertex
v in g ,
calculates the average shortest path length from v
to all other vertices in g , ignoring edge weights. |
static <V,E> org.apache.commons.collections15.Transformer<V,java.lang.Double> |
averageDistances(Hypergraph<V,E> graph,
Distance<V> d)
For each vertex
v in graph ,
calculates the average shortest path length from v
to all other vertices in graph using the metric
specified by d , and returns the results in a
Map from vertices to Double values. |
static <V,E> double |
diameter(Hypergraph<V,E> g)
Returns the diameter of
g , ignoring edge weights. |
static <V,E> double |
diameter(Hypergraph<V,E> g,
Distance<V> d)
Returns the diameter of
g using the metric
specified by d . |
static <V,E> double |
diameter(Hypergraph<V,E> g,
Distance<V> d,
boolean use_max)
Returns the diameter of
g using the metric
specified by d . |
public static <V,E> org.apache.commons.collections15.Transformer<V,java.lang.Double> averageDistances(Hypergraph<V,E> graph, Distance<V> d)
v
in graph
,
calculates the average shortest path length from v
to all other vertices in graph
using the metric
specified by d
, and returns the results in a
Map
from vertices to Double
values.
If there exists an ordered pair <u,v>
for which d.getDistance(u,v)
returns null
,
then the average distance value for u
will be stored
as Double.POSITIVE_INFINITY
).
Does not include self-distances (path lengths from v
to v
).
To calculate the average distances, ignoring edge weights if any:
Map distances = DistanceStatistics.averageDistances(g, new UnweightedShortestPath(g));To calculate the average distances respecting edge weights:
DijkstraShortestPath dsp = new DijkstraShortestPath(g, nev); Map distances = DistanceStatistics.averageDistances(g, dsp);where
nev
is an instance of Transformer
that
is used to fetch the weight for each edge.public static <V,E> org.apache.commons.collections15.Transformer<V,java.lang.Double> averageDistances(Hypergraph<V,E> g)
v
in g
,
calculates the average shortest path length from v
to all other vertices in g
, ignoring edge weights.public static <V,E> double diameter(Hypergraph<V,E> g, Distance<V> d, boolean use_max)
g
using the metric
specified by d
. The diameter is defined to be
the maximum, over all pairs of vertices u,v
,
of the length of the shortest path from u
to
v
. If the graph is disconnected (that is, not
all pairs of vertices are reachable from one another), the
value returned will depend on use_max
:
if use_max == true
, the value returned
will be the the maximum shortest path length over all pairs of connected
vertices; otherwise it will be Double.POSITIVE_INFINITY
.public static <V,E> double diameter(Hypergraph<V,E> g, Distance<V> d)
g
using the metric
specified by d
. The diameter is defined to be
the maximum, over all pairs of vertices u,v
,
of the length of the shortest path from u
to
v
, or Double.POSITIVE_INFINITY
if any of these distances do not exist.diameter(Hypergraph, Distance, boolean)
public static <V,E> double diameter(Hypergraph<V,E> g)
g
, ignoring edge weights.diameter(Hypergraph, Distance, boolean)
Copyright © 2021, 2022 Herve Girod. All Rights Reserved. Documentation and source under the BSD 3-Clause licence