Graph<E> class abstract base mixin Graphs

A collection of nodes and edges where edges connect exactly two nodes.

Associated data for each node, E, is stored in the graph, and edges are represented as a pair of nodes, and have no associated data unless the graph is a WeightedGraph.

A graph can be either directed, i.e. an edge has a source and a target node, or undirected, where there is no such distinction, but most algorithms and operations are applicable to both types of graphs.

Implemented types
Implementers

Constructors

Graph({bool directed = true})
Creates an empty AdjacencyListGraph.
factory
Graph.from(WalkableBase<E> walkable, {bool directed})
Creates a AdjacencyListGraph graph from a walkable.
factory
Graph.fromEdges(Iterable<Edge<E>> edges, {bool directed})
Creates a AdjacencyListGraph graph from edges.
factory

Properties

edges Iterable<Edge<E>>
Each edge in the collection.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Returns true if the walkable collection has no nodes.
no setterinherited
isNotEmpty bool
Returns true if the walkable collection has one or more nodes.
no setterinherited
roots Iterable<E>
Each node that is exposed as a root node of the walkable collection.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addEdge(Edge<E> edge) bool
Adds an edge from to the graph.
addEdges(Iterable<Edge<E>> edges) → void
Adds multiple edges to the graph.
asUnweighted() Walkable<E>
Returns a view of this walkable as an unweighted walkable.
inherited
asWeighted(double weight(E source, E target)) WeightedWalkable<E>
Returns a view of this walkable as a weighted walkable.
inherited
clear() → void
Clears the graph of all nodes and edges.
containsEdge(Edge<E> edge) bool
Returns whether the collection contains an edge connecting two nodes.
inherited
containsRoot(E node) bool
Returns whether the collection contains a root node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeEdge(Edge<E> edge) bool
Removes an edge from the graph.
override
successors(E node) Iterable<E>
Returns each distinct node that is a direct successor of the given node.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited