Package

net.walend.disentangle

graph

Permalink

package graph

Representations of various kinds of graphs. The top level, Graph, holds a Set of Nodes and a second collection of things that relate the nodes to each other -- the edges. Subtraits add features to these, and concrete implementations fill in with code tuned to particular uses.

Where possible, I use definitions from Wikipedia -- http://en.wikipedia.org/wiki/Graph_(mathematics)

I've left room in the hierarchy for a variety of kinds of graphs, but have only created the concrete classes I have real reasons to use. Please let me know if you need something specific.

Since

v0.1.0

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. graph
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class AdjacencyDigraph[Node] extends Tuple2Digraph[Node] with IndexedGraph[Node]

    Permalink

    Provides constant-time access for successor and predecessor edges of a node.

    Provides constant-time access for successor and predecessor edges of a node.

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

    Since

    v0.2.1

  2. class AdjacencyLabelDigraph[Node, Label] extends IndexedLabelDigraph[Node, Label]

    Permalink

    Provides constant-time access for successor and predecessor edges of a node.

    Provides constant-time access for successor and predecessor edges of a node.

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

    Since

    v0.1.0

  3. class AdjacencyLabelUndigraph[Node, Label] extends IndexedLabelUndigraph[Node, Label]

    Permalink

    Provides constant-time access for edges of a node.

    Provides constant-time access for edges of a node.

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

    Since

    v0.2.1

  4. class AdjacencyUndigraph[Node] extends IndexedUndigraph[Node]

    Permalink

    Provides constant-time access for edges of a node.

    Provides constant-time access for edges of a node.

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

    Since

    v0.2.1

  5. trait Digraph[Node] extends Graph[Node]

    Permalink

    A graph with directed zero or one edges from any single node to any other single node.

    A graph with directed zero or one edges from any single node to any other single node.

    Since

    v0.1.0

  6. trait Graph[Node] extends AnyRef

    Permalink

    Ancestor trait for a variety of Graphs.

    Ancestor trait for a variety of Graphs.

    A graph with Nodes that can be distinguished from each other. An InnerNodeType provides access to a nodes place in the graph.

    I've pulled definitions from Wikipedia: http://en.wikipedia.org/wiki/Graph_(mathematics) where possible

    Since

    v0.1.0

  7. trait IndexedGraph[Node] extends Graph[Node]

    Permalink

    A graph that exposes the indices of stored nodes.

    A graph that exposes the indices of stored nodes.

    Implementers should also include some accessor for edges via indexes.

    Since

    v0.2.1

  8. trait IndexedLabelDigraph[Node, Label] extends LabelDigraph[Node, Label] with IndexedGraph[Node]

    Permalink

    A digraph that exposes the indices of stored nodes.

    A digraph that exposes the indices of stored nodes.

    Since

    v0.1.0

  9. trait IndexedLabelUndigraph[Node, Label] extends IndexedGraph[Node] with LabelUndigraph[Node, Label]

    Permalink

    A digraph that exposes the indices of stored nodes.

  10. class IndexedSet[A] extends Set[A] with GenericSetTemplate[A, IndexedSet] with SetLike[A, IndexedSet[A]] with CustomParallelizable[A, ParIndexedSet[A]] with Serializable

    Permalink

    Since

    v0.1.0

  11. trait IndexedUndigraph[Node] extends Undigraph[Node]

    Permalink

    A digraph that exposes the indices of stored nodes.

  12. trait LabelDigraph[Node, Label] extends Digraph[Node]

    Permalink

    A directed graph with labeled edges.

    A directed graph with labeled edges.

    Since

    v0.1.0

  13. trait LabelUndigraph[Node, Label] extends Undigraph[Node]

    Permalink

    A directed graph with labeled edges.

    A directed graph with labeled edges.

    Since

    v0.2.1

  14. case class NodePair[+A](_1: A, _2: A) extends Product with Serializable

    Permalink

    A pair of interchangable nodes, often used in Undigraph.

    A pair of interchangable nodes, often used in Undigraph. Order of the nodes doesn't matter.

    Since

    v0.2.1

  15. class ParIndexedSet[A] extends GenericParTemplate[A, ParIndexedSet] with ParSet[A] with ParSetLike[A, ParIndexedSet[A], IndexedSet[A]] with Serializable

    Permalink
  16. trait Tuple2Digraph[Node] extends Digraph[Node]

    Permalink

    A directed graph with edges expressed as Tuple2s so that you can create edges with "a->b" in your code.

    A directed graph with edges expressed as Tuple2s so that you can create edges with "a->b" in your code.

    Since

    v0.2.1

  17. trait Undigraph[Node] extends Graph[Node]

    Permalink

    A graph with undirected zero or one edges between any pair of nodes.

    A graph with undirected zero or one edges between any pair of nodes.

    Since

    v0.2.1

Value Members

  1. object AdjacencyDigraph

    Permalink

    O(n ln(n) + e ln(n))

  2. object AdjacencyLabelDigraph

    Permalink

    O(n ln(n) + e ln(n))

  3. object AdjacencyLabelUndigraph

    Permalink

    O(n ln(n) + e ln(n))

  4. object AdjacencyUndigraph

    Permalink
  5. object DigraphFactory

    Permalink

    Create various types of graphs.

    Create various types of graphs.

    Since

    v0.1.0

  6. object IndexedSet extends ImmutableSetFactory[IndexedSet] with Serializable

    Permalink
  7. object ParIndexedSet extends ParSetFactory[ParIndexedSet] with Serializable

    Permalink
  8. package mutable

    Permalink
  9. package semiring

    Permalink

    Semirings and semiring-based graph minimizing algorithms.

    Semirings and semiring-based graph minimizing algorithms.

    SemiringSupport is the primary trait. Algorithms in this package -- Floyd-Warshall, Dijkstra's, and Brandes' algorithms -- use your choice of SemiringSupport to determine just what they are minimizing. The package also includes some common SemiringSupport implementations.

    Since

    v0.1.0

Inherited from AnyRef

Inherited from Any

Ungrouped