scalax.collection

GraphTraversal

trait GraphTraversal[N, E[X] <: EdgeLikeIn[X]] extends GraphBase[N, E]

Defines traversal-related algorithmic interfaces.

Graph traversal means to navigate from node to node based on incident edges. Another kind of navigation is to iterate over nodes/edges based on the node-/edge-set.

Linear Supertypes
GraphBase[N, E], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GraphTraversal
  2. GraphBase
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. trait Cycle extends Path

    Represents a cycle in this graph listing the nodes and connecting edges on it with the following syntax:

  2. trait Edge extends Serializable

    Definition Classes
    GraphBase
  3. class EdgeBase extends EdgeOut[N, E, NodeT, E] with InnerEdgeLike

    Definition Classes
    GraphBase
  4. sealed trait EdgeOrdering extends Ordering[EdgeT] with ElemOrdering

    Definition Classes
    GraphBase
  5. trait EdgeSet extends Set[EdgeT] with Serializable

    Definition Classes
    GraphBase
  6. abstract type EdgeSetT <: EdgeSet

    Definition Classes
    GraphBase
  7. abstract type EdgeT <: InnerEdge with InnerEdgeLike with Serializable

    Definition Classes
    GraphBase
  8. sealed trait ElemOrdering extends AnyRef

    Base trait for graph Orderings.

  9. type InnerEdge = EdgeOut[N, E, NodeT, E]

    Attributes
    protected
    Definition Classes
    GraphBase
  10. trait InnerEdgeLike extends Iterable[NodeT] with Edge

    Definition Classes
    GraphBase
  11. trait InnerNodeLike extends GraphTraversal.InnerNodeLike

    Definition Classes
    GraphTraversalGraphBase
  12. sealed class NoOrdering extends ElemOrdering

    The empty ElemOrdering.

  13. trait Node extends Serializable

    Definition Classes
    GraphBase
  14. abstract class NodeBase extends InnerNodeLike

    Attributes
    protected
    Definition Classes
    GraphBase
  15. sealed trait NodeOrdering extends Ordering[NodeT] with ElemOrdering

    Ordering for the path dependent type NodeT.

  16. trait NodeSet extends Set[NodeT] with Serializable

    Definition Classes
    GraphBase
  17. abstract type NodeSetT <: NodeSet

    Definition Classes
    GraphBase
  18. abstract type NodeT <: InnerNodeLike

    Definition Classes
    GraphTraversalGraphBase
  19. trait Path extends Iterable[GraphParamOut[N, E]]

    Represents a path in this graph listing the nodes and connecting edges on it with the following syntax:

  20. abstract class Traversal extends AnyRef

    Abstract class for functional traversals.

Abstract Value Members

  1. abstract def edges: EdgeSetT

    The edge set of this Graph commonly referred to as E(G).

    The edge set of this Graph commonly referred to as E(G).

    returns

    Set of all contained edges.

    Definition Classes
    GraphBase
  2. abstract def findCycle(nodeFilter: (NodeT) ⇒ Boolean = anyNode, edgeFilter: (EdgeT) ⇒ Boolean = anyEdge, maxDepth: Int = 0, nodeVisitor: (NodeT) ⇒ VisitorReturn = noNodeAction, edgeVisitor: (EdgeT) ⇒ Unit = noEdgeAction, ordering: ElemOrdering = noOrdering): Option[Cycle]

    Finds a cycle in this graph taking optional filters and visitors into account.

    Finds a cycle in this graph taking optional filters and visitors into account., if any.

    nodeFilter

    Predicate to filter the nodes to be visited during traversal. The default value is anyNode, that is no filtering. A return of true signals that the traversal is to be canceled.

    edgeFilter

    Predicate to filter the edges to be visited during traversal. The default value is anyEdge meaning that no filtering takes place.

    maxDepth

    A positive value limits the number of layers for BFS respectively the number of consecutive child visits before siblings are visited for DFS. 0 - the default - indicates that the traversal should have an unlimited depth meaning that it will be continued either until it's canceled by nodeVisitor or until all nodes have been visited.

    nodeVisitor

    Function to be called on visiting a node for the first time during a traversal. It can mutate the node or carry out any other side effect. The default value is the empty function noNodeAction.

    edgeVisitor

    Function to be called on visiting an edge. It can mutate the node or carry out any other side effect. The default value is the empty function noEdgeAction.

    ordering

    If a NodeOrdering or EdgeOrdering different from noOrdering is supplied neighbor nodes will be sorted during the traversal. Thus it is guaranteed that the smaller an element's ranking the sooner it will be processed. In case of EdgeOrdering it is guaranteed that the smaller an edge's ranking the sooner its relevant end(s) will be processed.

    returns

    A cycle or None if either a) there exists no cycle in this graph or b) there exists a cycle in this graph but due to the given filtering conditions or a Cancel return by a visitor this cycle had to be disregarded.

  3. abstract def newEdge(innerEdge: E[NodeT]): EdgeT

    Attributes
    protected
    Definition Classes
    GraphBase
  4. abstract def newNode(n: N): NodeT

    Attributes
    protected
    Definition Classes
    GraphBase
  5. abstract def newTraversal(direction: Direction = Successors, nodeFilter: (NodeT) ⇒ Boolean = anyNode, edgeFilter: (EdgeT) ⇒ Boolean = anyEdge, nodeVisitor: (NodeT) ⇒ VisitorReturn = noNodeAction, edgeVisitor: (EdgeT) ⇒ Unit = noEdgeAction, ordering: ElemOrdering = noOrdering): Traversal

    Creates a Traversal instance allowing subsequent traversals with constant filters and visitors.

    Creates a Traversal instance allowing subsequent traversals with constant filters and visitors.

    direction

    Determines which connected nodes the traversal has to follow. The default value is Successors.

    nodeFilter

    Predicate to filter the nodes to be visited during traversal. The default value is anyNode, that is no filtering. A return of true signals that the traversal is to be canceled.

    edgeFilter

    Predicate to filter the edges to be visited during traversal. The default value is anyEdge meaning that no filtering takes place.

    nodeVisitor

    Function to be called on visiting a node for the first time during a traversal. It can mutate the node or carry out any other side effect. The default value is the empty function noNodeAction.

    edgeVisitor

    Function to be called on visiting an edge. It can mutate the node or carry out any other side effect. The default value is the empty function noEdgeAction.

    ordering

    If a NodeOrdering or EdgeOrdering different from noOrdering is supplied neighbor nodes will be sorted during the traversal. Thus it is guaranteed that the smaller an element's ranking the sooner it will be processed. In case of EdgeOrdering it is guaranteed that the smaller an edge's ranking the sooner its relevant end(s) will be processed.

  6. abstract def nodes: NodeSetT

    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).

    returns

    Set of all contained nodes.

    Definition Classes
    GraphBase

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. object Edge extends Serializable

    Definition Classes
    GraphBase
  7. object EdgeOrdering extends Serializable

    Ordering for the path dependent type EdgeT.

  8. object Node extends Serializable

    Definition Classes
    GraphBase
  9. object NodeOrdering extends Serializable

    Definition Classes
    GraphBase
  10. final val anyEdge: (EdgeT) ⇒ Boolean

    Default edge filter letting path all edges (non-filter).

  11. final val anyNode: (NodeT) ⇒ Boolean

    Default node filter letting path all nodes (non-filter).

  12. final lazy val anyOrdering: AnyOrdering[N]

    Attributes
    protected
    Definition Classes
    GraphBase
  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. final lazy val defaultEdgeOrdering: EdgeOrdering

    Definition Classes
    GraphBase
  16. final lazy val defaultNodeOrdering: NodeOrdering

    Definition Classes
    GraphBase
  17. implicit final def edgeToEdgeCont(e: E[N]): E[NodeT]

    Attributes
    protected
    Definition Classes
    GraphBase
    Annotations
    @inline()
  18. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  20. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  21. final def findCycle: Option[Cycle]

    Same as findCycle(...) with default arguments.

    Same as findCycle(...) with default arguments.

    Annotations
    @inline()
  22. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  23. def graphSize: Int

    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.

    Definition Classes
    GraphBase
  24. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  25. def initialize(nodes: Iterable[N], edges: Iterable[E[N]]): Unit

    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.

    nodes

    The isolated (and optionally any other) outer nodes that the node set of this graph is to be populated with.

    edges

    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.

    Attributes
    protected
    Definition Classes
    GraphBase
  26. final def isAcyclic: Boolean

    Whether this graph has no cycle.

    Whether this graph has no cycle.

    Annotations
    @inline()
  27. def isComplete: Boolean

  28. def isConnected: Boolean

    Whether this graph is connected if it is undirected or weakly connected if it is directed.

  29. final def isCustomEdgeFilter(filter: (EdgeT) ⇒ Boolean): Boolean

    true if filter is not equivalent to anyEdge.

    true if filter is not equivalent to anyEdge.

    Annotations
    @inline()
  30. final def isCustomEdgeVisitor(visitor: (EdgeT) ⇒ Unit): Boolean

    true if visitor is not equivalent to noEdgeAction.

    true if visitor is not equivalent to noEdgeAction.

    Annotations
    @inline()
  31. final def isCustomNodeFilter(filter: (NodeT) ⇒ Boolean): Boolean

    true if filter is not equivalent to anyNode.

    true if filter is not equivalent to anyNode.

    Annotations
    @inline()
  32. final def isCustomNodeUpVisitor(visitor: (NodeT) ⇒ Unit): Boolean

    true if visitor is not equivalent to noNodeUpAction.

    true if visitor is not equivalent to noNodeUpAction.

    Annotations
    @inline()
  33. final def isCustomNodeVisitor(visitor: (NodeT) ⇒ VisitorReturn): Boolean

    true if visitor is not equivalent to noNodeAction.

    true if visitor is not equivalent to noNodeAction.

    Annotations
    @inline()
  34. final def isCyclic: Boolean

    Whether this graph has at least one cycle.

    Whether this graph has at least one cycle.

    Annotations
    @inline()
  35. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  36. final def isTrivial: Boolean

    true if this graph has at most 1 node.

    true if this graph has at most 1 node.

    Definition Classes
    GraphBase
    Annotations
    @inline()
  37. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  38. final val noEdgeAction: (EdgeT) ⇒ Unit

    Default edge visitor doing nothing (non-visitor).

  39. final val noNode: (NodeT) ⇒ Boolean

    Node predicate always returning false.

  40. final val noNodeAction: (NodeT) ⇒ GraphTraversal.VisitorReturn.Value

    Default node visitor doing nothing (non-visitor).

  41. final val noNodeUpAction: (NodeT) ⇒ Unit

    Default node-up visitor doing nothing (non-visitor).

  42. final val noOrdering: NoOrdering

    Definition Classes
    GraphBase
  43. final def nonTrivial: Boolean

    true if this graph has at least 2 nodes.

    true if this graph has at least 2 nodes.

    Definition Classes
    GraphBase
    Annotations
    @inline()
  44. final def notify(): Unit

    Definition Classes
    AnyRef
  45. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  46. def order: Int

    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.

    Definition Classes
    GraphBase
  47. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  48. def toString(): String

    Definition Classes
    AnyRef → Any
  49. def totalWeight: Long

    Definition Classes
    GraphBase
  50. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  51. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  52. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from GraphBase[N, E]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped