Order Number |
436393092 |
Type of Project |
ESSAY |
Writer Level |
PHD VERIFIED |
Format |
APA |
Academic Sources |
10 |
Page Count |
3-12 PAGES |
PROGRAM REQUIREMENTS
In this assignment you will implement three basic graph algorithms: breadth-first search, depth-
first traversal, and topological sort. We are not providing any code template, but you must follow
the input and output formats specified below. Read carefully what you are required to do to
receive full credit and attempt the extra credit tasks only after you are done with the
requirements.
First, implement a graph data structure using adjacency lists. Your code must read graphs of
arbitrary size from a file (as long as there is enough memory available, your code must work: do
not assume a maximum number of vertices). The input format is as follows: one line per vertex,
the first element is the vertex id and the following numbers are the adjacent vertices. The input
file will always be a bunch of integers and white space. For example,
1 3 4
2
3 1 4
4 1 3
is a graph with four vertices, and three undirected edges: (1, 3), (1,4) and (3,4).
Then, implement three algorithms:
Then, print all the vertices sorted by distance from vertex 1. Note that if the graph is
unconnected, some nodes may have distance ∞.
Topological sort. Print the topological sort of the graph.
A few comments:
Extra credit:
is yes or no.
the output is yes or no.
permutation of ????, and outputs whether the permutation of ???? is a topological sort of ????.
Your algorithm must run in Θ(|????| + |????|).