UNLV Computer Science 677: Design and Analysis of Algorithms
Spring 2001
Graduate Homework Assignment 1.
Due April 2, 2001
You may discuss this assignment with other students in the class, or other
persons. But you must actually write the assignment in your own hand.
You must turn in the homework on letter-sized paper, with your name at the
top of each page. Use pen or pencil, any color.
In the narrative portions of the problems, please write legibly.
Do not write your homework as a computer file and turn
in a printout.
Let G be a directed graph with n nodes
and m edges.
The transitive closure of G is defined in your textbook,
and an algorithm for finding the transitive closure is given. However,
it appears that transitive reduction is not discussed in
the textbook. You will have to research the definition.
-
Find an efficient algorithm for computing the transitive reduction of G.
-
Suppose that G is acyclic. Do exactly one of the following:
-
Find an efficient algorithm for computing the transitive reduction of G
which is better than the algorithm you gave for the above problem.
-
Argue that it does not help to use the fact that G is acyclic, that is,
the best algorithm for finding the transitive reduction of a directed
acyclic graph does not utilize the fact that it is acyclic.
(It is not necessary to give a formal proof, just informal reasons for
believing it.)
-
Come up with an application. That is, think of some problem, that might
arise in a real-life application, for which it might be helpful to be
able to compute transitive reduction of a directed graph. Explain your
problem and how you could apply transitive reduction, in narrative form,
not more than one page.
Back to
Course Page