hgraph-1.2.0.1: Tools for working on (di)graphs.
Safe HaskellSafe-Inferred
LanguageHaskell2010

HGraph.Undirected

Documentation

class UndirectedGraph t where Source #

Minimal complete definition

empty, vertices, edges, linearizeVertices

Methods

empty :: t a -> t a Source #

vertices :: t a -> [a] Source #

numVertices :: Integral b => t a -> b Source #

edges :: t a -> [(a, a)] Source #

numEdges :: Integral b => t a -> b Source #

linearizeVertices :: t a -> (t Int, [(Int, a)]) Source #

Instances

Instances details
UndirectedGraph Graph Source # 
Instance details

Defined in HGraph.Undirected.AdjacencyMap

Methods

empty :: Graph a -> Graph a Source #

vertices :: Graph a -> [a] Source #

numVertices :: Integral b => Graph a -> b Source #

edges :: Graph a -> [(a, a)] Source #

numEdges :: Integral b => Graph a -> b Source #

linearizeVertices :: Graph a -> (Graph Int, [(Int, a)]) Source #

class UndirectedGraph t => Adjacency t where Source #

Minimal complete definition

neighbors, degree, edgeExists, inducedSubgraph

Methods

neighbors :: t a -> a -> [a] Source #

degree :: Integral b => t a -> a -> b Source #

edgeExists :: t a -> (a, a) -> Bool Source #

inducedSubgraph :: t a -> [a] -> t a Source #

metaBfs :: Ord a => t a -> a -> ([a] -> [a]) -> [a] Source #

connectedComponents :: Ord a => t a -> [[a]] Source #

Instances

Instances details
Adjacency Graph Source # 
Instance details

Defined in HGraph.Undirected.AdjacencyMap

Methods

neighbors :: Graph a -> a -> [a] Source #

degree :: Integral b => Graph a -> a -> b Source #

edgeExists :: Graph a -> (a, a) -> Bool Source #

inducedSubgraph :: Graph a -> [a] -> Graph a Source #

metaBfs :: Ord a => Graph a -> a -> ([a] -> [a]) -> [a] Source #

connectedComponents :: Ord a => Graph a -> [[a]] Source #

class Mutable t where Source #

Methods

addVertex :: t a -> a -> t a Source #

removeVertex :: t a -> a -> t a Source #

addEdge :: t a -> (a, a) -> t a Source #

removeEdge :: t a -> (a, a) -> t a Source #

Instances

Instances details
Mutable Graph Source # 
Instance details

Defined in HGraph.Undirected.AdjacencyMap

Methods

addVertex :: Graph a -> a -> Graph a Source #

removeVertex :: Graph a -> a -> Graph a Source #

addEdge :: Graph a -> (a, a) -> Graph a Source #

removeEdge :: Graph a -> (a, a) -> Graph a Source #