reachableVertices method

Set<T> reachableVertices(
  1. T start
)

Returns a set containing all vertices that are reachable from vertex start.

Implementation

Set<T> reachableVertices(T start) {
  final result = <T>{};

  void addReachableVertices(T root, T current) {
    for (final vertex in edges(current)) {
      if (result.contains(vertex)) continue;
      result.add(vertex);
      addReachableVertices(root, vertex);
    }
  }

  addReachableVertices(start, start);
  return result;
}