Open In App

Randomized Algorithms | Set 3 (1/2 Approximate Median)

Last Updated : 27 Mar, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report
Time Complexity: We use a set provided by the STL in C++. In STL Set, insertion for each element takes O(log k). So for k insertions, time taken is O (k log k). Now replacing k with c log n =>O(c log n (log (clog n))) =>O (log n (log log n)) How is probability of error less than 2/n2? Algorithm makes an error if the set S has at least k/2 elements are from the Left Quarter or Right Quarter. median It is quite easy to visualize this statement since the median which we report will be (k/2)th element and if we take k/2 elements from the left quarter(or right quarter) the median will be from the left quarter (or the right quarter). An array can be divided into 4 quarters each of size n/4. So P(selecting left quarter) is 1/4. So what is the probability that at least k/2 elements are from the Left Quarter or Right Quarter? This probability problem is same as below : Given a coin which gives HEADS with probability 1/4 and TAILS with 3/4. The coin is tossed k times. What is the probability that we get at least k/2 HEADS is less than or equal to?
Explanation: probability
If we put k = c log n for c = 10, we get 
P <= (1/2)2log n
P <= (1/2)log n2
P <= n-2
Probability of selecting at least k/2 elements from the left quarter) <= 1/n2 Probability of selecting at least k/2 elements from the left or right quarter) <= 2/n2 Therefore algorithm produces incorrect result with probability less than or equal to 2/n2. References:www.cse.iitk.ac.in/users/sbaswana/CS648/Lecture-2-CS648.pptx

Next Article

Similar Reads