| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Graph.UGraph
- 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 Edges 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 Edges 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
Constructors
| DegreeSequence | |
Fields
| |
Instances
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