shortestPaths<T extends Object> function
Returns a Map of the shortest paths from start
to all of the nodes in
the directed graph defined by edges
.
All return values will contain the key start
with an empty List value.
start
and all values returned by edges
must not be null
.
If asserts are enabled, an AssertionError is raised if these conditions
are not met. If asserts are not enabled, violations result in undefined
behavior.
If equals
is provided, it is used to compare nodes in the graph. If
equals
is omitted, the node's own Object.== is used instead.
Similarly, if hashCode
is provided, it is used to produce a hash value
for nodes to efficiently calculate the return value. If it is omitted, the
key's own Object.hashCode is used.
If you supply one of equals
or hashCode
, you should generally also to
supply the other.
Implementation
Map<T, Iterable<T>> shortestPaths<T extends Object>(
T start,
Iterable<T> Function(T) edges, {
bool Function(T, T)? equals,
int Function(T)? hashCode,
}) =>
_shortestPaths<T>(
start,
edges,
equals: equals,
hashCode: hashCode,
);