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) => UGraph v e -> Edge v e -> UGraph v e
- insertEdges :: (Hashable v, Eq v) => UGraph v e -> [Edge v e] -> UGraph v e
- removeEdge :: (Hashable v, Eq v) => UGraph v e -> Edge v e -> UGraph v e
- removeEdge' :: (Hashable v, Eq v) => UGraph v e -> (v, v) -> UGraph v e
- removeEdgeAndVertices :: (Hashable v, Eq v) => UGraph v e -> Edge v e -> UGraph v e
- removeEdgeAndVertices' :: (Hashable v, Eq v) => UGraph v e -> (v, v) -> 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]
- toList :: (Hashable v, Eq v) => UGraph v e -> [Edge v e]
- fromList :: (Hashable v, Eq v) => [Edge v e] -> UGraph v e
Documentation
Undirected Graph of Vertices in v and Edges with attributes in e
insertEdges :: (Hashable v, Eq v) => UGraph v e -> [Edge 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) => UGraph v e -> (v, v) -> UGraph v e Source #
Same as removeEdge
but the edge is an unordered pair
removeEdgeAndVertices' :: (Hashable v, Eq v) => UGraph v e -> (v, v) -> 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