AdjacencyLabelUndigraph

net.walend.disentangle.graph.AdjacencyLabelUndigraph
See theAdjacencyLabelUndigraph companion object
class AdjacencyLabelUndigraph[Node, Label](outNodes: IndexedSet[Node], outEdges: Vector[IndexedSet[(NodePair[Node], Label)]], val noEdgeExistsLabel: Label) extends IndexedLabelUndigraph[Node, Label]

Provides constant-time access for edges of a node.

The constructor is O(n + a ln(n))

Attributes

Since:

v0.2.1

Companion:
object
Graph
Supertypes
trait IndexedLabelUndigraph[Node, Label]
trait LabelUndigraph[Node, Label]
trait Undigraph[Node]
trait IndexedGraph[Node]
trait Graph[Node]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Classlikes

case class InNode(value: Node, index: Int) extends UndigraphInnerNodeTrait with InnerIndexedNodeTrait

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class InnerEdge(nodePair: NodePair[InNode], label: Label) extends UndigraphInnerEdgeTrait

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object InnerEdge

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Inherited classlikes

An internal representation of edges within the graph

An internal representation of edges within the graph

Attributes

Inherited from:
Graph
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

An internal representation of nodes within the graph

An internal representation of nodes within the graph

Attributes

Inherited from:
IndexedGraph
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class InNode
class InnerNode
class InNode
class InnerNode

An internal representation of nodes within the graph

An internal representation of nodes within the graph

Attributes

Inherited from:
Graph
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Inherited from:
Undigraph
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class InnerEdge
class InnerEdge

Attributes

Inherited from:
Undigraph
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Types

The edge type returned by this graph representation

The edge type returned by this graph representation

Attributes

The type of InnerNodeTrait for this digraph representation

The type of InnerNodeTrait for this digraph representation

Attributes

Inherited types

type OuterEdgeType = (NodePair[Node], Label)

The edge type used to build this graph representation

The edge type used to build this graph representation

Attributes

Inherited from:
LabelUndigraph

Value members

Concrete methods

override def edge(between: NodePair[Node]): InnerEdgeType

Attributes

Returns:

the Label between a pair of nodes, or noEdgeExistsLable if no edge exists.

Throws:
IllegalArgumentException

if either node is not in the graph

Definition Classes
override def edges: Seq[OuterEdgeType]

O(n^2)

O(n^2)

Attributes

Returns:

All of the edges in the graph

Definition Classes
override def innerNode(value: Node): Option[InNode]

O(ln(n))

O(ln(n))

Attributes

Returns:

Some inner node if it exists in the digraph or None

Definition Classes
override def innerNodeForIndex(i: Int): InNode

O(1)

O(1)

Attributes

Definition Classes

O(1)

O(1)

Attributes

Returns:

InnerNode representation of all of the nodes in the graph.

Definition Classes
override def label(between: NodePair[InnerNodeType]): Label

O(n)

O(n)

Attributes

Returns:

the edge between start and end or noEdgeExistsValue

Definition Classes
override def label(i: Int, j: Int): Label

O(n)

O(n)

Attributes

Definition Classes
override def node(i: Int): Node

O(1)

O(1)

Attributes

Definition Classes
override def nodeCount: Int

Attributes

Returns:

number of nodes in the graph

Definition Classes
def nodes: IndexedSet[Node]

All the nodes in the graph, in an indexed set

All the nodes in the graph, in an indexed set

Attributes

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Any

Concrete fields

lazy override val innerEdges: Vector[InnerEdgeType]

Attributes

Returns:

A Traversable of the edges as represented in the graph

Attributes

Returns:

the label to return when no edge exists

val nodeToInNode: Map[Node, InNode]