Data.Graph.Inductive.Basic
 Contents Graph Operations Filter Operations Predicates and Classifications Tree Operations
Description
Basic Graph Algorithms
Synopsis
 grev :: DynGraph gr => gr a b -> gr a b undir :: (Eq b, DynGraph gr) => gr a b -> gr a b unlab :: DynGraph gr => gr a b -> gr () () gsel :: Graph gr => (Context a b -> Bool) -> gr a b -> [Context a b] gfold :: Graph gr => (Context a b -> [Node]) -> (Context a b -> c -> d) -> (Maybe d -> c -> c, c) -> [Node] -> gr a b -> c efilter :: DynGraph gr => (LEdge b -> Bool) -> gr a b -> gr a b elfilter :: DynGraph gr => (b -> Bool) -> gr a b -> gr a b hasLoop :: Graph gr => gr a b -> Bool isSimple :: Graph gr => gr a b -> Bool postorder :: Tree a -> [a] postorderF :: [Tree a] -> [a] preorder :: Tree a -> [a] preorderF :: [Tree a] -> [a]
Graph Operations
 grev :: DynGraph gr => gr a b -> gr a b Source
Reverse the direction of all edges.
 undir :: (Eq b, DynGraph gr) => gr a b -> gr a b Source
Make the graph undirected, i.e. for every edge from A to B, there exists an edge from B to A.
 unlab :: DynGraph gr => gr a b -> gr () () Source
Remove all labels.
 gsel :: Graph gr => (Context a b -> Bool) -> gr a b -> [Context a b] Source
Return all Contexts for which the given function returns True.
 gfold Source
 :: Graph gr => (Context a b -> [Node]) direction of fold -> (Context a b -> c -> d) depth aggregation -> (Maybe d -> c -> c, c) breadth/level aggregation -> [Node] -> gr a b -> c Directed graph fold.
Filter Operations
 efilter :: DynGraph gr => (LEdge b -> Bool) -> gr a b -> gr a b Source
Filter based on edge property.
 elfilter :: DynGraph gr => (b -> Bool) -> gr a b -> gr a b Source
Filter based on edge label property.
Predicates and Classifications
 hasLoop :: Graph gr => gr a b -> Bool Source
True if the graph has any edges of the form (A, A).
 isSimple :: Graph gr => gr a b -> Bool Source
The inverse of hasLoop.
Tree Operations
 postorder :: Tree a -> [a] Source
Flatten a Tree, returning the elements in post-order.
 postorderF :: [Tree a] -> [a] Source
Flatten multiple Trees in post-order.
 preorder :: Tree a -> [a] Source
Flatten a Tree, returning the elements in pre-order. Equivalent to flatten in Tree.
 preorderF :: [Tree a] -> [a] Source
Flatten multiple Trees in pre-order.