CS 4349: Algorithms Spring 2008 Assignment 6 Due: Monday, March 17 (in class) 1. Ex. 22.1-3 (page 530). Computing the transpose of a graph. 2. Ex. 22.3-9 (page 548). Printing the types of edges. Write two versions of this procedure, one for directed graphs and one for undirected graphs. 3. Ex. 22.4-1 (page 551). Topological ordering of a DAG. Show a table that gives for each node all its DFS properties (discovery time, finish time, depth-first number, top number, parent). 4. Write a DFS algorithm to find the bridges and cut vertices of a given undirected, connected graph G=(V,E). See problem 22-2 (p. 558) for a discussion. Ideas needed to solve this problem have been discussed in class. 5. A graph G=(V,E) is bipartite if the vertex set can be partitioned into two sets X and Y such that all edges of G connect a vertex in X with a vertex in Y. It can be shown that a graph is bipartite if and only if it has no odd length cycles. Write a breadth-first search (BFS) algorithm to test if a graph is bipartite. Explain the correctness of your algorithm. (See Ex. 22.2-6, p. 539).