Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
For Connectivity analysis purposes a DGraph
can be converted into a
| UGraph
using toUndirected
Synopsis
- areConnected :: forall g v e. (Graph g, Hashable v, Eq v, Ord v) => g v e -> v -> v -> Bool
- areDisconnected :: (Graph g, Hashable v, Eq v, Ord v) => g v e -> v -> v -> Bool
- isIsolated :: (Graph g, Hashable v, Eq v) => g v e -> v -> Bool
- isConnected :: (Graph g, Hashable v, Eq v, Ord v) => g v e -> Bool
- isBridgeless :: (Hashable v, Eq v, Ord v) => UGraph v e -> Bool
- isOrientable :: (Hashable v, Eq v, Ord v) => UGraph v e -> Bool
- isWeaklyConnected :: (Hashable v, Eq v, Ord v) => DGraph v e -> Bool
- isStronglyConnected :: (Hashable v, Eq v, Ord v) => DGraph v e -> Bool
Documentation
areConnected :: forall g v e. (Graph g, Hashable v, Eq v, Ord v) => g v e -> v -> v -> Bool Source #
Tell if two vertices of a graph are connected
Two vertices are connected
if it exists a path between them. The order of
the vertices is relevant when the graph is directed
areDisconnected :: (Graph g, Hashable v, Eq v, Ord v) => g v e -> v -> v -> Bool Source #
Opposite of areConnected
isIsolated :: (Graph g, Hashable v, Eq v) => g v e -> v -> Bool Source #
Tell if a vertex is isolated
A vertex is isolated
if it has no incident edges, that is, it has a degree
of zero
isConnected :: (Graph g, Hashable v, Eq v, Ord v) => g v e -> Bool Source #
Tell if a graph is connected
An undirected graph is connected
when there is a path between every pair
of vertices
FIXME: Use a O(n) algorithm
isBridgeless :: (Hashable v, Eq v, Ord v) => UGraph v e -> Bool Source #
Tell if a graph is bridgeless
A graph is bridgeless
if it has no edges that, when removed, split the
graph in two isolated components
FIXME: Use a O(n) algorithm
isOrientable :: (Hashable v, Eq v, Ord v) => UGraph v e -> Bool Source #
Tell if a UGraph
is orientable
An undirected graph is orientable
if it can be converted into a directed
graph that is strongly connected
(See isStronglyConnected
)