Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

A directed graph can be implemented as a list, whose elements are pairs of nodes. Assume the nodes are integers. In Haskell, you can define

A directed graph can be implemented as a list, whose elements are pairs of nodes. Assume the nodes are integers. In Haskell, you can define a graph as follows:

type Node = Integer

type Edge = (Integer, Integer)

type Graph = [Edge]type Path = [Node]

g :: Graph

g = [ (1, 2), (1, 3), (2, 3), (2, 4), (3, 4) ]

h :: Graph

h = [ (1, 2), (1, 3), (2, 1), (3, 2), (4, 4) ]

a)Write a function named nodes to get the list of nodes (increasing) of a graph. For example, nodes g => [1, 2, 3, 4]

b)Write a function named adjacent that takes a node N and a graph G and returns a list of all nodes that are connected to N such that N is the source. For example, adjacent 2 g => [3, 4], adjacent 4 g => [] , adjacent 4 h => [4]

c)Write a function named detach that takes a node N and a graph G and returns the graph formed by removing N from G. For example, detach 3 g => [(1, 2), (2, 4)]

in Haskell

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David M Kroenke, David J Auer

6th Edition

0132742926, 978-0132742924

More Books

Students also viewed these Databases questions

Question

12-4 Briefly discuss options for group-based incentives. PAGE 439

Answered: 1 week ago

Question

The Production Possibilities Frontier and Social Choices

Answered: 1 week ago