Computer Science homework help

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:

• Breadth-first search. Calculate the distance from vertex 1 to all other vertices using BFS.

Then, print all the vertices sorted by distance from vertex 1. Note that if the graph is

unconnected, some nodes may have distance ∞.

• Depth-first traversal. Calculate discovery and finish times using DFT. Then, print all the vertices sorted by discovery time.

Topological sort. Print the topological sort of the graph.

A few comments:

• Look carefully at the sample input and output files and follow the same format.

• When you look through vertices, visit them in increasing order.

Extra credit:

• Use BFS to determine whether a graph is connected. The input is a graph, and the output

is yes or no.

• Implement an algorithm to detect whether a graph has a cycle. The input is a graph, and

the output is yes or no.

• Design and implement an algorithm that takes as its input a graph ???? = (????, ????) and a

permutation of ????, and outputs whether the permutation of ???? is a topological sort of ????.

Your algorithm must run in Θ(|????| + |????|).

Solved:

15% off for this assignment.

Our Prices Start at $11.99. As Our First Client, Use Coupon Code GET15 to claim 15% Discount This Month!!

Why US?

100% Confidentiality
100% Timely Delivery
100% Original Writing

100% Money Back

Cheap Essay Writing

Do my Assignment

Order custom essay

Sample Essays

Custom term paper

Write My Research Paper

Affiliate program

Custom essay

Research paper

Write my essay

Write my paper

Essay writers

Become a Freelance Writer

Contact us

Glossary

Sitemap

Terms and conditions

Privacy policy

Proficient Concepts  is a professional writing service that provides original papers. Our products include academic papers of varying complexity and other personalized services, along with research materials for assistance purposes only. All the materials from our website should be used with proper references.