Well, the interviewer gave a hint to use hash-table. The key of hash-table will be memory address of original node and value will be the memory address of the new node.
On Wed, Mar 14, 2012 at 9:43 PM, atul anand <atul.87fri...@gmail.com> wrote: > @umer : did interviewer told any one of the solution provided in > the given link below or different? > > http://www.geeksforgeeks.org/archives/1155 > > > On Tue, Mar 13, 2012 at 11:31 AM, Umer Farooq <the.um...@gmail.com> wrote: > >> 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 a linked list with one pointer pointing to next, >> another pointer pointing to any random pointer in the list. The random >> pointer can be before or after the current pointer or it can even be at >> the >> same node. Write a piece of code that can produce an exact copy of the >> linked list. >> >> >> On Tue, Mar 13, 2012 at 10:57 AM, Umer Farooq <the.um...@gmail.com>wrote: >> >>> 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 >>> >> >> >> >> -- >> 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.