Arun Viswanathan, Nancy Feldman, et al.
IEEE Communications Magazine
We consider the following problem: Given an unsorted array of n elements, and a sequence of intervals in the array, compute the median in each of the subarrays defined by the intervals. We describe a simple algorithm which needs O(n log k + k log n) time to answer k such median queries. This improves previous algorithms by a logarithmic factor and matches a comparison lower bound for k=O(n). The space complexity of our simple algorithm is O(nlog n) in the pointer machine model, and O(n) in the RAM model. In the latter model, a more involved O(n) space data structure can be constructed in O(nlog n) time where the time per query is reduced to O(log n/ log log n). We also give efficient dynamic variants of both data structures, achieving O(log2n) query time using O(nlog n) space in the comparison model and O((log n / log log n)2) query time using O(log n / log log n) space in the RAM model, and show that in the cell-probe model, any data structure which supports updates in O(logO(1)n) time must have Ω(log n/ log log n) query time. Our approach naturally generalizes to higher-dimensional range median problems, where element positions and query ranges are multidimensionalit reduces a range median query to a logarithmic number of range counting queries. © 2010 Elsevier B.V. All rights reserved.
Arun Viswanathan, Nancy Feldman, et al.
IEEE Communications Magazine
Raghu Krishnapuram, Krishna Kummamuru
IFSA 2003
Charles H. Bennett, Aram W. Harrow, et al.
IEEE Trans. Inf. Theory
Robert G. Farrell, Catalina M. Danis, et al.
RecSys 2012