Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- newtype UGraph v e = UGraph {}
- removeVertex :: (Hashable v, Eq v) => v -> UGraph v e -> UGraph v e
- insertEdge :: (Hashable v, Eq v) => Edge v e -> UGraph v e -> UGraph v e
- insertEdges :: (Hashable v, Eq v) => [Edge v e] -> UGraph v e -> UGraph v e
- removeEdge :: (Hashable v, Eq v) => Edge v e -> UGraph v e -> UGraph v e
- removeEdge' :: (Hashable v, Eq v) => (v, v) -> UGraph v e -> UGraph v e
- removeEdgeAndVertices :: (Hashable v, Eq v) => Edge v e -> UGraph v e -> UGraph v e
- removeEdgeAndVertices' :: (Hashable v, Eq v) => (v, v) -> UGraph v e -> UGraph v e
- edges :: forall v e. (Hashable v, Eq v) => UGraph v e -> [Edge v e]
- containsEdge :: (Hashable v, Eq v) => UGraph v e -> Edge v e -> Bool
- containsEdge' :: (Hashable v, Eq v) => UGraph v e -> (v, v) -> Bool
- incidentEdges :: (Hashable v, Eq v) => UGraph v e -> v -> [Edge v e]
- areIsomorphic :: UGraph v e -> UGraph v' e' -> Bool
- isomorphism :: UGraph v e -> UGraph v' e' -> v -> v'
- newtype DegreeSequence = DegreeSequence {
- unDegreeSequence :: [Int]
- degreeSequence :: [Int] -> DegreeSequence
- getDegreeSequence :: (Hashable v, Eq v) => UGraph v e -> Maybe DegreeSequence
- isGraphicalSequence :: DegreeSequence -> Bool
- fromGraphicalSequence :: DegreeSequence -> Maybe (UGraph Int ())
Documentation
Undirected Graph of Vertices in v and Edges with attributes in e
insertEdges :: (Hashable v, Eq v) => [Edge v e] -> UGraph v e -> UGraph v e Source #
O(m*log n)
Insert many directed Edge
s into a UGraph
| Same rules as insertEdge
are applied
removeEdge' :: (Hashable v, Eq v) => (v, v) -> UGraph v e -> UGraph v e Source #
Same as removeEdge
but the edge is an unordered pair
removeEdgeAndVertices' :: (Hashable v, Eq v) => (v, v) -> UGraph v e -> UGraph v e Source #
Same as removeEdgeAndVertices
but the edge is an unordered pair
containsEdge :: (Hashable v, Eq v) => UGraph v e -> Edge v e -> Bool Source #
O(log n)
Tell if an undirected Edge
exists in the graph
containsEdge' :: (Hashable v, Eq v) => UGraph v e -> (v, v) -> Bool Source #
Same as containsEdge
but the edge is an unordered pair
incidentEdges :: (Hashable v, Eq v) => UGraph v e -> v -> [Edge v e] Source #
Retrieve the incident Edge
s of a Vertex
isomorphism :: UGraph v e -> UGraph v' e' -> v -> v' Source #
newtype DegreeSequence Source #
The Degree Sequence of a simple UGraph
is a list of degrees
degreeSequence :: [Int] -> DegreeSequence Source #
Construct a DegreeSequence
from a list of degrees
| Negative degree values are discarded
getDegreeSequence :: (Hashable v, Eq v) => UGraph v e -> Maybe DegreeSequence Source #
Get the DegreeSequence
of a simple UGraph
| If the graph is not simple
(see isSimple
) the result is Nothing
isGraphicalSequence :: DegreeSequence -> Bool Source #
Tell if a DegreeSequence
is a Graphical Sequence
| A Degree Sequence is a Graphical Sequence
if a corresponding UGraph
for
| it exists
fromGraphicalSequence :: DegreeSequence -> Maybe (UGraph Int ()) Source #
Get the corresponding UGraph
of a DegreeSequence
| If the DegreeSequence
is not graphical (see isGraphicalSequence
) the
| result is Nothing