Find the median of a set of sorted lists, Computer Science

AI Thread Summary
The discussion revolves around finding an efficient divide and conquer algorithm to determine the median of a union of sorted lists, with a focus on achieving a time complexity better than O(n^2) or probabilistic methods. The proposed approach involves sorting the lists by their median values and dividing them into lower and upper halves. The medians of these halves are then used to eliminate elements that do not contribute to the median, creating new subsets. However, concerns arise about maintaining equal sizes in the lists during the process, as merging could lead to increased runtime. The conversation highlights the challenge of balancing efficiency with the constraints of the problem.
chy1013m1
Messages
14
Reaction score
0

Homework Statement


Given a set of sorted lists {X1, X2, ..., Xn} each Xi is in R^n , devise a divide and conquer algo that
finds the median of X1\bigcup X2 \bigcup ... \bigcup Xn efficiently.
(n * log(n), n^2 is not acceptable, also no probabilistic, expected runtime)
Also, Xi \bigcap Xj = \phi \forall i, j s.t. i\neqj

Homework Equations


already know a procedure that finds the median of 2 equal sized, sorted lists in O(log(n)) time

The Attempt at a Solution


- sort the lists by its median values, re-label them to be X1, X2..., Xn
- divide the lists into L = {X1, ..., X[floor(n/2)]} and U = {X_ceil(n/2) ... , Xn}
- find the med points of L, call it "ml", and the med point of U, call it "mu"
- remove elements < ml from L, elements > mu from U, get new set of L', and U'.
but at this point, the lists could be no equal in size, if we do a merge it could blow up the runtime,
since merge is theta(n)
 
Last edited:
Physics news on Phys.org
X is list ; M is median ; r is # of elements less than M.
X1 : (M1,r1)
X2 : (M2,r2)
X3 : (M3,r3)
..
Xn : (Mn,rn)

^
larger r's
r
r x x
r x x xx x
r x x x xx x x
r xxx xxx xx x x x
r xxx xxx xxxxxx x
m_m_m_m_m_mm___m___> larger medians

can you notice anything about that data?
 
Last edited:
Back
Top