Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- data DGraph v e
- insertArc :: (Hashable v, Eq v) => Arc v e -> DGraph v e -> DGraph v e
- insertArcs :: (Hashable v, Eq v) => [Arc v e] -> DGraph v e -> DGraph v e
- removeArc :: (Hashable v, Eq v) => Arc v e -> DGraph v e -> DGraph v e
- removeArcs :: (Hashable v, Eq v) => [Arc v e] -> DGraph v e -> DGraph v e
- removeArcAndVertices :: (Hashable v, Eq v) => Arc v e -> DGraph v e -> DGraph v e
- arcs :: forall v e. (Hashable v, Eq v) => DGraph v e -> [Arc v e]
- containsArc :: (Hashable v, Eq v) => DGraph v e -> Arc v e -> Bool
- inboundingArcs :: (Hashable v, Eq v) => DGraph v e -> v -> [Arc v e]
- outboundingArcs :: (Hashable v, Eq v) => DGraph v e -> v -> [Arc v e]
- incidentArcs :: (Hashable v, Eq v) => DGraph v e -> v -> [Arc v e]
- vertexIndegree :: (Hashable v, Eq v) => DGraph v e -> v -> Int
- vertexOutdegree :: (Hashable v, Eq v) => DGraph v e -> v -> Int
- indegrees :: (Hashable v, Eq v) => DGraph v e -> [Int]
- outdegrees :: (Hashable v, Eq v) => DGraph v e -> [Int]
- isBalanced :: (Hashable v, Eq v) => DGraph v e -> Bool
- isSource :: (Hashable v, Eq v) => DGraph v e -> v -> Bool
- isSink :: (Hashable v, Eq v) => DGraph v e -> v -> Bool
- isInternal :: (Hashable v, Eq v) => DGraph v e -> v -> Bool
- transpose :: (Hashable v, Eq v) => DGraph v e -> DGraph v e
- toUndirected :: (Hashable v, Eq v) => DGraph v e -> UGraph v e
- toArcsList :: (Hashable v, Eq v) => DGraph v e -> [Arc v e]
- fromArcsList :: (Hashable v, Eq v) => [Arc v e] -> DGraph v e
- prettyPrint :: (Hashable v, Eq v, Show v, Show e) => DGraph v e -> String
DGraph data type
Directed Graph of Vertices in v and Arcs with attributes in e
Instances
Functions on DGraph
containsArc :: (Hashable v, Eq v) => DGraph v e -> Arc v e -> Bool Source #
Tell if a directed Arc
exists in the graph
inboundingArcs :: (Hashable v, Eq v) => DGraph v e -> v -> [Arc v e] Source #
Retrieve the inbounding Arc
s of a Vertex
outboundingArcs :: (Hashable v, Eq v) => DGraph v e -> v -> [Arc v e] Source #
Retrieve the outbounding Arc
s of a Vertex
incidentArcs :: (Hashable v, Eq v) => DGraph v e -> v -> [Arc v e] Source #
Retrieve the incident Arc
s of a Vertex
The incident
arcs of a vertex are all the inbounding and outbounding arcs
of the vertex
vertexIndegree :: (Hashable v, Eq v) => DGraph v e -> v -> Int Source #
Indegree of a vertex
The indegree
of a vertex is the number of inbounding Arc
s to a vertex
vertexOutdegree :: (Hashable v, Eq v) => DGraph v e -> v -> Int Source #
Outdegree of a vertex
The outdegree
of a vertex is the number of outbounding Arc
s from a vertex
indegrees :: (Hashable v, Eq v) => DGraph v e -> [Int] Source #
Indegrees of all the vertices in a DGraph
outdegrees :: (Hashable v, Eq v) => DGraph v e -> [Int] Source #
Outdegree of all the vertices in a DGraph
Query graph properties and characteristics
isBalanced :: (Hashable v, Eq v) => DGraph v e -> Bool Source #
Tell if a DGraph
is balanced
A directed graph is balanced
when its indegree = outdegree
isSource :: (Hashable v, Eq v) => DGraph v e -> v -> Bool Source #
Tell if a vertex is a source
A vertex is a source
when its indegree = 0
isSink :: (Hashable v, Eq v) => DGraph v e -> v -> Bool Source #
Tell if a vertex is a sink
A vertex is a sink
when its outdegree = 0
isInternal :: (Hashable v, Eq v) => DGraph v e -> v -> Bool Source #
Tell if a vertex is internal
A vertex is internal
when its neither a source
nor a sink
Transformations
transpose :: (Hashable v, Eq v) => DGraph v e -> DGraph v e Source #
Get the transpose of a DGraph
The transpose
of a directed graph is another directed graph where all of
its arcs are reversed
List conversions
toArcsList :: (Hashable v, Eq v) => DGraph v e -> [Arc v e] Source #
Convert a DGraph
to a list of Arc
s discarding isolated vertices
Note that because toArcsList
discards isolated vertices:
fromArcsList . toArcsList /= id