Find the kth element using order statistics - O(n)  <>  As far as i know , u
will have to use median of medians selection algorithm for this...
Rest is fine..

--------------------------------------------------
Rohit Saraf
Second Year Undergraduate,
Dept. of Computer Science and Engineering
IIT Bombay
http://www.cse.iitb.ac.in/~rohitfeb14


On Mon, Apr 12, 2010 at 3:20 PM, souri datta <souri.isthe...@gmail.com>wrote:

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