Book Image

Haskell Data Analysis Cookbook

By : Nishant Shukla
Book Image

Haskell Data Analysis Cookbook

By: Nishant Shukla

Overview of this book

Table of Contents (19 chapters)
Haskell Data Analysis Cookbook
About the Author
About the Reviewers

Representing a graph from an adjacency list

It may be more convenient to construct a graph given an adjacency list. In this recipe, we will use the built-in package Data.Graph to read a mapping of a vertex to a list of connected vertices.

Getting ready

We will be constructing the graph represented in the following diagram:

How to do it...

Create a new file, which we will name Main.hs, and insert the following code:

  1. Import the Data.Graph package:

    import Data.Graph
  2. Use the graphFromEdges' function to obtain a tuple that contains the graph. A graph data structure, Graph, is in the first element of the tuple returned. The second element of the tuple contains mappings from a vertex number to its corresponding value, Vertex -> (node, key, [key]):

    myGraph :: Graph
    myGraph = fst $ graphFromEdges'   [ ("Node 1", 1, [3, 4] )
                                      , ("Node 2", 2, [3, 4]) 
                                      , ("Node 3", 3, [4])
                                      , ("Node 4", 4, []) ]
  3. Print out...