Book Image

Haskell Data Analysis cookbook

By : Nishant Shukla
Book Image

Haskell Data Analysis cookbook

By: Nishant Shukla

Overview of this book

Step-by-step recipes filled with practical code samples and engaging examples demonstrate Haskell in practice, and then the concepts behind the code. This book shows functional developers and analysts how to leverage their existing knowledge of Haskell specifically for high-quality data analysis. A good understanding of data sets and functional programming is assumed.
Table of Contents (14 chapters)
13
Index

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...