Yes that is exactly what they wanted. I proposed BFS for this solution. Anyway, there was another problem that I was able to solve; but the interviewer brought up a much more efficient approach.
The problem was: Given a linked l On Mon, Mar 12, 2012 at 11:31 PM, Gene <gene.ress...@gmail.com> wrote: > Since there is no mention of weights, you are looking for any spanning > tree. Primm and Kruskal are for _minimum_ spanning tree. They are > overkill for this problem. > > You can construct a spanning tree in any graph with DFS. Just record > every edge you find that reaches a vertex that has never been visited > before. This has to find every vertex, and since you are recording > only the first edge used to arrive at each vertex, these edges must > form a tree. This works even if there are cycles. The algorithm is O(| > E|). > > Note that in general a graph doesn't have a single root. So you'd > search from all roots. Another way to think about this: introduce > your own dummy root and edges to each vertex where there are no > incident "in" edges. Of course you don't report the dummy edges. > > On Mar 12, 1:09 pm, atul anand <atul.87fri...@gmail.com> wrote: > > i guess they were talking abt spanning tree , so you can use prism or > > kruskal algo to do the same. > > > > > > > > > > > > > > > > On Mon, Mar 12, 2012 at 3:05 PM, Umer Farooq <the.um...@gmail.com> > wrote: > > > Hello friends, > > > > > I recently had an onsite MS interview. One of the questions that they > > > asked was: > > > > > - Given a directed graph, write a program that takes root of the > graph > > > and returns root of a tree which comprises of all the nodes of the > graph in > > > the same way as they appeared in the graph (the graph contains no > cycles). > > > > > -- > > > Umer > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Algorithm Geeks" group. > > > To post to this group, send email to algogeeks@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. > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@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. > > -- Umer -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@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.