Graph<T> class

Implemented types

Constructors

Graph({required Node root, Map<String, Node> nodes = const {}, Map<String, T> nodesData = const {}, Map<Node, Set<Node>> edges = const {}, Map<Node, Node> parents = const {}, bool allowManyParents = false})

Properties

allowManyParents bool
final
edges Map<Node, Set<Node>>
no setteroverride
graphString String
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
nodeData Map<String, T>
no setteroverride
nodes Map<String, Node>
no setteroverride
parents Map<Node, Node>
no setteroverride
root Node
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addEdge(Node parent, Node child) → void
override
addNode(Node node) → void
override
clear() → void
override
containsNode(String nodeKey) bool
override
getDepths() Map<Node, int>
Returns the depth of all vertices in the graph.
override
getFullVerticalPath(Node node) Set<Node>
Returns a list of all connected vertices from the given one.
override
getLeaves({Node? startNode}) Set<Node>
Returns a list of leaves.
override
getNodeByKey(String key) Node?
override
getNodeData(String key) → T?
override
getNodeEdges(Node node) Set<Node>
override
getNodeLevel(Node node) int
Returns the depth of the specified vertex.
override
getNodeParent(Node node) Node?
override
getPathToNode(Node node) Set<Node>
Returns a list of all connected vertices from the given one.
override
getSiblings(Node node) Set<Node>
Returns a list of children of the parent of the given vertex.
override
getVerticalPathBetweenNodes(Node first, Node second, {Map<String, int>? depths}) Set<Node>
Returns the path between two vertices within a subtree.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeEdge(Node parent, Node child) → void
override
removeNode(Node node) → void
override
selectRoot(String key) IGraphEditable<T>
override
toString() String
A string representation of this object.
inherited
updateNodeData(String key, T data) → void
override
visitBreadth(VisitCallback visit, {Node? startNode}) int
Breadth-first search (BFS)
override
visitDepth(VisitCallback visit, {Node? startNode}) → void
Depth-first search (DFS)
override
visitDepthBacktrack(BacktrackCallback visit) → void
Recursive depth-first search with backtracking.
override

Operators

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