summary in this we have seen how graphs can be used to model many real-life problems many of the graphs that occur are typically very sparseso it is important to pay attention to the data structures that are used to implement them we have also seen class of problems that do not seem to have efficient solutions in some techniques for dealing with these problems will be discussed exercises find topological ordering for the graph in figure if stack is used instead of queue for the topological sort algorithm in section does different ordering resultwhy might one data structure give "betteranswerwrite program to perform topological sort on graph an adjacency matrix requires (| | merely to initialize using standard double loop propose method that stores graph in an adjacency matrix (so that testing for the existence of an edge is ( )but avoids the quadratic running time find the shortest path from to all other vertices for the graph in figure find the shortest unweighted path from to all other vertices for the graph in figure what is the worst-case running time of dijkstra' algorithm when implemented with -heaps (section ) give an example where dijkstra' algorithm gives the wrong answer in the presence of negative edge but no negative-cost cycle  show that the weighted shortest-path algorithm suggested in section works if there are negative-weight edgesbut no negative-cost cyclesand that the running time of this algorithm is (| | | figure graph used in exercises and