@Sharad. Haven't you changed the roles of n and k? The original poster
had n lists with average length k, meaning a total of n*k elements.
You have k lists with a total of n elements, meaning that each list
has an average of n/k elements.

Dave

On Jul 3, 1:02 pm, sharad kumar <sharad20073...@gmail.com> wrote:
> 1. First take two lists at a time and merge them so total elements parsed
> for all lists =O(n)
> This operation results in k/2 lists
> 2. Repeat steps till k/2 == 1.
>
> *Time complexity of above solution = O(n logk)*
> Step1 would loop through *logk *times and each operation would require
> parsing all n elements in all the lists for making k/2 lists
>
> eg:: if i had 8 lists then first pass would make 4 lists by parsing all n
> elements; second pass would make 2 lists by parsing again n elements and
> third pass would give 1 list again by parsing n elements.
>
> *Constraint of the above Solution*
> For merging we would require *O(n) *extra space.
>
> *Solution2: Without Using O(n) extra space; uses O(k) extra space*
> **j = 1;
> 1. (For all lists L[i])
> {
> Take the jth element from each list and create a min heap in O(k) with the
> node data and
> index information. Take the minimum element from the heap in O(1) i.e. root
> node and put
> it in *List1 indexj.*
> **if the element didn't belong to list1[j] then swap it with list1[j] with
> list to which the min
> element belonged.
> Now increment the pointer j for the list l1(or to the list where in the min
> nodes are getting added) and add the new node to min heap}
>
> 2. Keep repeating steps 1 till all n elements are being looked up
>
> *Time Complexity = O(n logk ) SPACE = O(k)*
> At a time we have k elements min heap and for all n elements we have to
> readjust the heap in log(k) time so total time = *O(n logk )* and space used
> = *O(k)*

-- 
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.

Reply via email to