1. Explain how to restructure the innermost loop of the algorithm Warshall to make it run faster at least on some inputs.
2. Rewrite pseudocode of Warshall's algorithm assuming that the matrix rows are represented by bit strings on which the bitwise or operation can be performed.
3. a. Explain how Warshall's algorithm can be used to determine whether a given digraph is a dag (directed acyclic graph). Is it a good algorithm for this problem?
b. Is it a good idea to apply Warshall's algorithm to find the transitive closure of an undirected graph?