Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

E0 251: Programming Assignment 2

Due Date: Wednesday, November 16th

You are expected to solve the assignment on your own.

1. Given an undirected graph G, find the connected components of G using


depth first search.
Note: You must implement depth first search as a iterative program using
a stack. Recursive depth first search is not allowed.
Implement the stack as a linked list.
2. Given an undirected graph G, find the shortest path length from vertex
numbered 1 to all other vertices in G using breadth first search.
Note: You must implement breadth first search using queue. Implement
the queue as a linked list.

NOTE:

Program can be in C, C++ or Java


No standard libraries (eg. STL in C++) can be used except for reading
input and writing output.
Your program must take the input from a file input and output the
solution to a file output.
The input file gives the undirected graph G in the following format (Ad-
jacency list): The first line gives the number of vertices n of G. Let the
vertices of G be numbered as 1, 2, . . . , n. The following lines of input file
gives the list of vertices adjacent to each vertex. For example, the second
line has a list of numbers separated by space that indicates the vertices
that have edges to vertex numbered 1. The third line has vertices that
have edges to vertex numbered 2 and so on.
For the connected component problem, the output file has the format:
The list of vertices (separated by space) in component 1 in first line, list
of vertices in component 2 in second line and so on.
For the shortest path problem, the output file has the format: The list of
vertices (separated by space) that has shortest path length 1 from vertex
numbered 1 in first line, list of vertices that has shortest path length 2
from vertex numbered 1 in second line and so on.

You might also like