hgeometry- Geometric Algorithms, Data structures, and Data types.

Safe HaskellNone




dfs :: forall s w v e f. PlanarGraph s w v e f -> VertexId s w -> Tree (VertexId s w) Source

DFS on a planar graph.

Running time: $O(n)$

Note that since our planar graphs are always connected there is no need need for dfs to take a list of start vertices.

type AdjacencyLists s w = Vector [VertexId s w] Source

Adjacency list representation of a graph: for each vertex we simply list all connected neighbours.

adjacencyLists :: PlanarGraph s w v e f -> AdjacencyLists s w Source

Transform into adjacencylist representation

dfs' :: forall s w. AdjacencyLists s w -> VertexId s w -> Tree (VertexId s w) Source

DFS, from a given vertex, on a graph in AdjacencyLists representation.

Running time: $O(n)$