Represents a component of this
graph by a lazy implementation.
Controls the properties of consecutive graph traversals with no specific root.
Represents a cycle in this graph listing the nodes and connecting edges on it with the following syntax:
Base trait for graph Ordering
s.
Template for extended node visitors.
Properties and methods for creating modified properties in a fluent-interface manner.
Controls the properties of inner-edge graph traversals.
Controls the properties of inner-element graph traversals.
Controls the properties of inner-node down-up graph traversals.
Controls the properties of inner-node graph traversals.
The empty ElemOrdering.
Ordering for the path dependent type NodeT.
Controls the properties of outer-edge graph traversals.
Controls the properties of outer-element graph traversals.
Controls the properties of outer-node down-up graph traversals.
Controls the properties of outer-node graph traversals.
Represents a path in this graph where
A Builder
for valid paths in this graph.
Properties controlling traversals.
Controls the properties of consecutive graph traversals starting at a root node.
The root
-related methods Traverser will inherit.
Represents a walk in this graph where
A Builder
for valid walks in this graph.
Creates a ComponentTraverser responsible for invoking graph traversal methods that cover all components of this possibly disconnected graph.
Creates a ComponentTraverser responsible for invoking graph traversal methods that cover all components of this possibly disconnected graph.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
The edge set of this Graph
commonly referred to as E(G).
The edge set of this Graph
commonly referred to as E(G).
Set of all contained edges.
Creates a InnerEdgeTraverser based on scala.collection.Traversable[EdgeT]
.
Creates a InnerEdgeTraverser based on scala.collection.Traversable[EdgeT]
.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Creates a InnerElemTraverser based on scala.collection.Traversable[InnerElem]
.
Creates a InnerElemTraverser based on scala.collection.Traversable[InnerElem]
.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Creates a InnerNodeDownUpTraverser based on scala.collection.Traversable[(Boolean, NodeT)]
where the Boolean
parameter is true
if the traversal takes
place in downward and false
if it takes place in upward direction.
Creates a InnerNodeDownUpTraverser based on scala.collection.Traversable[(Boolean, NodeT)]
where the Boolean
parameter is true
if the traversal takes
place in downward and false
if it takes place in upward direction.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals. A kind
different from DepthFirst
will be ignored.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Creates a InnerNodeTraverser based on scala.collection.Traversable[NodeT]
.
Creates a InnerNodeTraverser based on scala.collection.Traversable[NodeT]
.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Instantiates a PathBuilder for this graph.
Instantiates a PathBuilder for this graph.
The node this path starts at.
Expected maximum number of nodes on this path.
Determines the edge to be selected between neighbor nodes if an edge is not supplied explicitly. This is only relevant in case of multigraphs.
Instantiates a WalkBuilder for this graph.
Instantiates a WalkBuilder for this graph.
The node this walk starts at.
Expected maximum number of nodes on this walk.
Determines the edge to be selected between neighbor nodes if an edge is not supplied explicitly. This is only relevant in case of multigraphs.
The node (vertex) set of this Graph
commonly referred to as V(G).
The node (vertex) set of this Graph
commonly referred to as V(G).
Set of all contained nodes.
Creates a OuterEdgeTraverser based on scala.collection.Traversable[E[N]]
.
Creates a OuterEdgeTraverser based on scala.collection.Traversable[E[N]]
.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Creates a OuterElemTraverser based on scala.collection.Traversable[OuterElem]
.
Creates a OuterElemTraverser based on scala.collection.Traversable[OuterElem]
.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Creates a OuterNodeDownUpTraverser based on scala.collection.Traversable[(Boolean, N)]
where the Boolean
parameter is true
if the traversal takes
place in downward and false
if it takes place in upward direction.
Creates a OuterNodeDownUpTraverser based on scala.collection.Traversable[(Boolean, N)]
where the Boolean
parameter is true
if the traversal takes
place in downward and false
if it takes place in upward direction.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals. A kind
different from DepthFirst
will be ignored.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Creates a OuterNodeTraverser based on scala.collection.Traversable[N]
.
Creates a OuterNodeTraverser based on scala.collection.Traversable[N]
.
The node where subsequent graph traversals start.
The properties controlling subsequent traversals.
Restricts subsequent graph traversals to visit only nodes holding this predicate.
Restricts subsequent graph traversals to walk only along edges that hold this predicate.
If a NodeOrdering
or EdgeOrdering
different from noOrdering
is supplied
neighbor nodes will visited during the traversal according to this ordering.
Ordering for the path dependent type EdgeT.
Default edge filter letting path all edges (non-filter).
An arbitrary edge between from
and to
that is available most efficiently.
An arbitrary edge between from
and to
that is available most efficiently.
Default node filter letting traverse all nodes (non-filter).
Finds a cycle in this
graph and calls visitor
for each inner element
visited during the search.
Finds a cycle in this
graph and calls visitor
for each inner element
visited during the search.
Use componentTraverser
to pass non-default arguments.
The size - commonly referred to as ||G|| - of this graph equaling to the number of edges.
The size - commonly referred to as ||G|| - of this graph equaling to the number of edges.
Method size
is reserved for the number of nodes and edges
because Graph
is also SetLike
with set elements being nodes or edges.
Populates this graph with nodes
and edges
.
Populates this graph with nodes
and edges
.
The implementing class will typically have a constructor with the same parameters
which is invoked by from
of the companion object.
The isolated (and optionally any other) outer nodes that the node set of this graph is to be populated with.
The outer edges that the edge set of this graph is to be populated with. Nodes being the end of any of these edges will be added to the node set.
Whether this
graph has no cycle.
Whether this
graph has no cycle.
Whether all nodes are pairwise adjacent.
Whether all nodes are pairwise adjacent.
true
if this graph is complete, false
if this graph contains any
independent nodes.
Whether this
graph is connected if it is undirected or
weakly connected if it is directed.
true
if f
is not equivalent to anyEdge
.
true
if f
is not equivalent to anyEdge
.
true
if f
is not equivalent to anyNode
.
true
if f
is not equivalent to anyNode
.
Whether this
graph has at least one cycle.
Whether this
graph has at least one cycle.
true
if this graph has at most 1 node.
true
if this graph has at most 1 node.
Node predicate always returning false
.
true
if this graph has at least 2 nodes.
true
if this graph has at least 2 nodes.
The order - commonly referred to as |G| - of this graph equaling to the number of nodes.
The order - commonly referred to as |G| - of this graph equaling to the number of nodes.
(graphTraversal: StringAdd).self
(graphTraversal: StringFormat).self
(graphTraversal: OuterNode[GraphTraversal[N, E]]).toString()
(graphTraversal: ArrowAssoc[GraphTraversal[N, E]]).x
(Since version 2.10.0) Use leftOfArrow
instead
(graphTraversal: Ensuring[GraphTraversal[N, E]]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
Graph-related functionality such as traversals, path finding, cycle detection etc. All algorithms including breadth-first, depth-first, white-gray-black search and Dijkstra's algorithm are tail recursive.
Before starting a traversal a
Traverser
such as InnerNodeTraverser is instantiated explicitly or implicitly. It holds settings likemaxDepth
,subgraph
orordering
providing a fine-grained control of the traversal.Traverser
s also extendscala.collection.Traversable
meaning that you can process the visited nodes and edges in a functional way.http://www.scala-graph.org/guides/core-traversing