net.walend.disentangle.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.
Attributes
- Since:
v0.1.0
Members list
Type members
Classlikes
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))
Attributes
- Since:
v0.2.1
- Companion:
- object
- Graph
- Supertypes
- trait IndexedGraph[Node]trait Tuple2Digraph[Node]trait Digraph[Node]trait Graph[Node]class Objecttrait Matchableclass Any
O(n ln(n) + e ln(n))
O(n ln(n) + e ln(n))
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- AdjacencyDigraph.type
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))
Attributes
- Since:
v0.1.0
- Companion:
- object
- Graph
- Supertypes
O(n ln(n) + e ln(n))
O(n ln(n) + e ln(n))
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
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))
Attributes
- Since:
v0.2.1
- Companion:
- object
- Graph
- Supertypes
O(n ln(n) + e ln(n))
O(n ln(n) + e ln(n))
Attributes
- Companion:
- class
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
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))
Attributes
- Since:
v0.2.1
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait IndexedUndigraph[Node]trait Undigraph[Node]trait Graph[Node]class Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
- AdjacencyUndigraph.type
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.
Attributes
- Since:
v0.1.0
- Graph
- Supertypes
- Known subtypes
- trait Tuple2Digraph[Node]class AdjacencyDigraph[Node]
Create various types of graphs.
Create various types of graphs.
Attributes
- Since:
v0.1.0
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- DigraphFactory.type
Ancestor trait for a variety of Graphs.
Ancestor trait for a variety of Graphs.
A graph has 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
Attributes
- Since:
v0.1.0
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- trait Digraph[Node]trait Tuple2Digraph[Node]class AdjacencyDigraph[Node]trait IndexedGraph[Node]trait Undigraph[Node]trait IndexedUndigraph[Node]class AdjacencyUndigraph[Node]
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.
Attributes
- Since:
v0.2.1
- Graph
- Supertypes
- Known subtypes
- class AdjacencyDigraph[Node]
A digraph that exposes the indices of stored nodes.
A digraph that exposes the indices of stored nodes.
Attributes
- Since:
v0.1.0
- Graph
- Supertypes
- Known subtypes
A digraph that exposes the indices of stored nodes.
A digraph that exposes the indices of stored nodes.
Attributes
- Graph
- Supertypes
- Known subtypes
Attributes
- Since:
v0.1.0
- Companion:
- object
- Graph
- Supertypes
- trait Serializabletrait Set[A]trait Set[A]trait Equalstrait A => Booleantrait Iterable[A]trait Iterable[A]trait IterableOnce[A]class Objecttrait Matchableclass Any
Attributes
- Companion:
- class
- Graph
- Supertypes
- Self type
- IndexedSet.type
A digraph that exposes the indices of stored nodes.
A digraph that exposes the indices of stored nodes.
Attributes
- Graph
- Supertypes
- Known subtypes
- class AdjacencyUndigraph[Node]
A directed graph with labeled edges.
A directed graph with labeled edges.
Attributes
- Since:
v0.1.0
- Graph
- Supertypes
- Known subtypes
A directed graph with labeled edges.
A directed graph with labeled edges.
Attributes
- Since:
v0.2.1
- Graph
- Supertypes
- Known subtypes
A pair of interchangable nodes, often used in Undigraph. Order of the nodes doesn't matter.
A pair of interchangable nodes, often used in Undigraph. Order of the nodes doesn't matter.
Attributes
- Since:
v0.2.1
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
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.
Attributes
- Since:
v0.2.1
- Graph
- Supertypes
- Known subtypes
- class AdjacencyDigraph[Node]
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.
Attributes
- Since:
v0.2.1
- Graph
- Supertypes
- Known subtypes
- trait IndexedUndigraph[Node]class AdjacencyUndigraph[Node]