fromPredecessors method

Graph<V, E> fromPredecessors(
  1. Map<V, Iterable<V>?> mapping
)

Creates a Graph from a Map of vertices pointing to an Iterable of preceding vertices (incoming adjacency).

Implementation

Graph<V, E> fromPredecessors(Map<V, Iterable<V>?> mapping) {
  final builder = newBuilder();
  for (final MapEntry(key: vertex, value: predecessors) in mapping.entries) {
    if (predecessors == null || predecessors.isEmpty) {
      builder.addVertex(vertex);
    } else {
      for (final predecessor in predecessors) {
        builder.addEdge(predecessor, vertex);
      }
    }
  }
  return builder.build();
}