Steps:
1. Find the kth element using order statistics - O(n)
2. In one pass over the array, get all the elems less than the kth element.

Let me know if this is not correct.



On Mon, Apr 12, 2010 at 1:57 PM, Rohit Saraf <rohit.kumar.sa...@gmail.com>wrote:

> I have already given an O(n) solution. See above !
>
> The BST solution is O(nlogn) but is practically more nice. :)
>
> --------------------------------------------------
> Rohit Saraf
> Second Year Undergraduate,
> Dept. of Computer Science and Engineering
> IIT Bombay
> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>
>
> On Mon, Apr 12, 2010 at 1:16 PM, Nikhil Agarwal <nikhil.bhoja...@gmail.com
> > wrote:
>
>>
>>
>> On Mon, Apr 12, 2010 at 12:58 PM, Rohit Saraf <
>> rohit.kumar.sa...@gmail.com> wrote:
>>
>>> are yaar... i meant BST... i thought that was obvious !
>>> sry if i confused you....
>>>
>>
>> @rohit It's ok.Actually in this group people come up with very different
>> and non-common solutions so its risky to take things 'obviously'.
>> Rotation algo has a complexity of O(nlogn)[for constructing a BST] +O(n)
>> [for rotating n times]=O(nlogn) .
>>
>> Till now best algo we have is using heaps which give rise to complexity =
>> O(n+klogn)
>>
>> Please pass on algos having better runtime complexity.
>>
>>>
>>>
>>> --------------------------------------------------
>>> Rohit Saraf
>>> Second Year Undergraduate,
>>> Dept. of Computer Science and Engineering
>>> IIT Bombay
>>> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>>>
>>>
>>> On Mon, Apr 12, 2010 at 12:38 PM, Nikhil Agarwal <
>>> nikhil.bhoja...@gmail.com> wrote:
>>>
>>>> Hey rohit.You were referring to Binary tree.Search keyword was
>>>> missing.Because rotation makes no sense in binary tree.Please note binary
>>>> tree and BST are different.
>>>>
>>>> On Mon, Apr 12, 2010 at 12:33 PM, Rohit Saraf <
>>>> rohit.kumar.sa...@gmail.com> wrote:
>>>>
>>>>> Read the slides i uploaded. They explain what rotation does in a BST.
>>>>>
>>>>> Also you might like to refer to Red Black Trees in CLRS.... that
>>>>> chapter explains rotations.
>>>>>
>>>>> --------------------------------------------------
>>>>> Rohit Saraf
>>>>> Second Year Undergraduate,
>>>>> Dept. of Computer Science and Engineering
>>>>> IIT Bombay
>>>>> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>>>>>
>>>>>
>>>>> On Mon, Apr 12, 2010 at 8:18 AM, Rohit Saraf <
>>>>> rohit.kumar.sa...@gmail.com> wrote:
>>>>>
>>>>>> but still the binary tree solution is of more practical use.i will
>>>>>> explain the solution once i reach my comp
>>>>>>
>>>>>>
>>>>>> On 4/11/10, Nikhil Agarwal <nikhil.bhoja...@gmail.com> wrote:
>>>>>> >
>>>>>> >
>>>>>> > On Sun, Apr 11, 2010 at 9:56 PM, Rohit Saraf <
>>>>>> rohit.kumar.sa...@gmail.com>
>>>>>> > wrote:
>>>>>> >>
>>>>>> >> Time complexity is O(n log n). But the last solution I gave has
>>>>>> O(n).
>>>>>> >>
>>>>>> >> What did u not understand abt thesolution
>>>>>> >
>>>>>> >
>>>>>> > @Rohit Please explain how that Binary tree solution works.
>>>>>> >>
>>>>>> >>
>>>>>> >> --------------------------------------------------
>>>>>> >> Rohit Saraf
>>>>>> >> Second Year Undergraduate,
>>>>>> >> Dept. of Computer Science and Engineering
>>>>>> >> IIT Bombay
>>>>>> >> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>>>>>> >>
>>>>>> >>
>>>>>> >> On Sun, Apr 11, 2010 at 11:00 AM, Priyanka Chatterjee
>>>>>> >> <dona.1...@gmail.com> wrote:
>>>>>> >>>
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> On 11 April 2010 10:46, Rohit Saraf <rohit.kumar.sa...@gmail.com>
>>>>>> wrote:
>>>>>> >>>>
>>>>>> >>>> Construct a binary tree from the data (maintain the size of
>>>>>> subtree
>>>>>> >>>> under each node).
>>>>>> >>>> Do rotations till the left subtree does not have size k. Rotation
>>>>>> is a
>>>>>> >>>> constant time operation.
>>>>>> >>>> Please prove the correctness of your algorithm with the time
>>>>>> complexity
>>>>>> >>>>
>>>>>> >>>> --------------------------------------------------
>>>>>> >>>> Rohit Saraf
>>>>>> >>>> Second Year Undergraduate,
>>>>>> >>>> Dept. of Computer Science and Engineering
>>>>>> >>>> IIT Bombay
>>>>>> >>>> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>>
>>>>>> >>>> On Mon, Mar 29, 2010 at 11:15 AM, blackDiamond <
>>>>>> patidarc...@gmail.com>
>>>>>> >>>> wrote:
>>>>>> >>>>>
>>>>>> >>>>> nice solution appreciate it. but your algorithm is wasting time
>>>>>> in
>>>>>> >>>>> finding all the element...
>>>>>> >>>>> instead of that just find boundary line kth element which can
>>>>>> help as
>>>>>> >>>>> in finding element greater that kth and element small than kth
>>>>>> and that
>>>>>> >>>>> soluton can be done in O(N)
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> On Sun, Mar 28, 2010 at 10:02 PM, CHERUVU JAANU REDDY
>>>>>> >>>>> <jaanu.cher...@gmail.com> wrote:
>>>>>> >>>>>>
>>>>>> >>>>>>
>>>>>> >>>>>> 1) Construct max heap by taking first k elements in an array
>>>>>> >>>>>> 2) if k+1 element less than root of max heap
>>>>>> >>>>>>        a) Delete root of max heap
>>>>>> >>>>>>        b) Insert k+1 element in max heap and apply heapify
>>>>>> method
>>>>>> >>>>>> 3) else skip the  element
>>>>>> >>>>>> 4) apply above procedure for all n elements in an array
>>>>>> >>>>>>
>>>>>> >>>>>> At last you will get k smallest elements and root is kth
>>>>>> smallest
>>>>>> >>>>>> element in the array
>>>>>> >>>>>>
>>>>>> >>>>>> this is O(nlogk)
>>>>>> >>>>>>
>>>>>> >>>>>>
>>>>>> >>>>>>
>>>>>> >>>>>> ----------------------------------------
>>>>>> >>>>>> CHERUVU JAANU REDDY
>>>>>> >>>>>> M.Tech in CSIS
>>>>>> >>>>>>
>>>>>> >>>>>>
>>>>>> >>>>>> On Sun, Mar 28, 2010 at 8:41 PM, abhijith reddy
>>>>>> >>>>>> <abhijith200...@gmail.com> wrote:
>>>>>> >>>>>>>
>>>>>> >>>>>>> Can any one tell how to do this when there are 'm' queries
>>>>>> like
>>>>>> >>>>>>> "query i j k" find the kth largest element in between indices
>>>>>> i->j in
>>>>>> >>>>>>> an array.
>>>>>> >>>>>>> When m is large even an O(n) algorithm would be slow.
>>>>>> >>>>>>> I thinking that each query could be answered in O(sqrt(n))
>>>>>> time
>>>>>> >>>>>>> So any suggestions ?
>>>>>> >>>>>>>
>>>>>> >>>>>>> Thanks
>>>>>> >>>>>>>
>>>>>> >>>>>>>
>>>>>> >>>>>>> On Sun, Mar 28, 2010 at 7:57 PM, blackDiamond <
>>>>>> patidarc...@gmail.com>
>>>>>> >>>>>>> wrote:
>>>>>> >>>>>>>>
>>>>>> >>>>>>>> there are better solution of O(n) are posted in the
>>>>>> thread.......[?].
>>>>>> >>>>>>>> using order statices ....
>>>>>> >>>>>>>>
>>>>>> >>>>>>>>
>>>>>> >>>>>>>> On Sun, Mar 28, 2010 at 6:49 PM, Mukesh Kumar thakur
>>>>>> >>>>>>>> <mukeshraj8...@gmail.com> wrote:
>>>>>> >>>>>>>>>
>>>>>> >>>>>>>>> Create a temp array temp[0..k-1] of size k.
>>>>>> >>>>>>>>> 2) Traverse the array arr[k..n-1]. While traversing, keep
>>>>>> updating
>>>>>> >>>>>>>>> the smallest element of temp[]
>>>>>> >>>>>>>>> 3) Return the smallest of temp[]
>>>>>> >>>>>>>>> Time Complexity: O((n-k)*k).
>>>>>> >>>>>>>>>
>>>>>> >>>>>>>>>
>>>>>> >>>>>>>>> try it ..............for this problem[?]
>>>>>> >>>>>>>>>
>>>>>> >>>>>>>>> --
>>>>>> >>>>>>>>> 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<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> >>>>>>>>> For more options, visit this group at
>>>>>> >>>>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >>>>>>>>
>>>>>> >>>>>>>>
>>>>>> >>>>>>>>
>>>>>> >>>>>>>>
>>>>>> >>>>>>>> --
>>>>>> >>>>>>>> ~~~~BL/\CK_D!AMOND~~~~~~~~
>>>>>> >>>>>>>>
>>>>>> >>>>>>>> --
>>>>>> >>>>>>>> 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<algogeeks%2bunsubscr...@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
>>>>>> algoge...@googlegroups.com.
>>>>>> >>>>>>> To unsubscribe from this group, send email to
>>>>>> >>>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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
>>>>>> algoge...@googlegroups.com.
>>>>>> >>>>>> To unsubscribe from this group, send email to
>>>>>> >>>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> >>>>>> For more options, visit this group at
>>>>>> >>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>>
>>>>>> >>>>> --
>>>>>> >>>>> ~~~~BL/\CK_D!AMOND~~~~~~~~
>>>>>> >>>>>
>>>>>> >>>>> --
>>>>>> >>>>> 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<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com.
>>>>>> >>>> To unsubscribe from this group, send email to
>>>>>> >>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> >>>> For more options, visit this group at
>>>>>> >>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >>>
>>>>>> >>>
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> --
>>>>>> >>> Thanks & Regards,
>>>>>> >>> Priyanka Chatterjee
>>>>>> >>> Third Year Undergraduate Student,
>>>>>> >>> Computer Science & Engineering,
>>>>>> >>> National Institute Of Technology,Durgapur
>>>>>> >>> India
>>>>>> >>> http://priyanka-nit.blogspot.com/
>>>>>> >>>
>>>>>> >>> --
>>>>>> >>> 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<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com.
>>>>>> >> To unsubscribe from this group, send email to
>>>>>> >> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> >> For more options, visit this group at
>>>>>> >> http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > Thanks & Regards
>>>>>> > Nikhil Agarwal
>>>>>> > Junior Undergraduate
>>>>>> > Computer Science & Engineering,
>>>>>> > National Institute Of Technology, Durgapur,India
>>>>>> > http://tech-nikk.blogspot.com
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > 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<algogeeks%2bunsubscr...@googlegroups.com>
>>>>>> .
>>>>>> > For more options, visit this group at
>>>>>> > http://groups.google.com/group/algogeeks?hl=en.
>>>>>> >
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> --------------------------------------------------
>>>>>> Rohit Saraf
>>>>>> Second Year Undergraduate,
>>>>>> Dept. of Computer Science and Engineering
>>>>>> IIT Bombay
>>>>>> http://www.cse.iitb.ac.in/~rohitfeb14<http://www.cse.iitb.ac.in/%7Erohitfeb14>
>>>>>>
>>>>>
>>>>>  --
>>>>> 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<algogeeks%2bunsubscr...@googlegroups.com>
>>>>> .
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Thanks & Regards
>>>> Nikhil Agarwal
>>>> Junior Undergraduate
>>>> Computer Science & Engineering,
>>>> National Institute Of Technology, Durgapur,India
>>>> http://tech-nikk.blogspot.com
>>>>
>>>>
>>>>  --
>>>> 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<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>
>>
>> --
>> Thanks & Regards
>> Nikhil Agarwal
>> Junior Undergraduate
>> Computer Science & Engineering,
>> National Institute Of Technology, Durgapur,India
>> http://tech-nikk.blogspot.com
>>
>>
>>  --
>> 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<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 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.

<<338.gif>>

<<361.gif>>

Reply via email to