Isnt it running DFS on every node? 1) Pick any node in the graph say n 2) With n as root, run DFS. While running DFS, if you visit node x, mark M[n,x]=1 and M[x,n]=1 . The running time is O(k+E) [not k, you are forgetting the case when E != O(n)] .Also have a hash finished[n]=true. 3) Repeat steps 1-2 for each node until finished[node] = true for all of them.
So overall time is not O(n^2). A proof of O(n^2) is also reqd. with the solution -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algoge...@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.