The importance of the sensitivity of an algorithm to the output size of a problem is well-known especially if the upper bound on the output size is known to be not too large. In this paper we focus on the problem of designing very fast parallel algorithms for constructing the upper envelope of straight-line segments that achieve the O ( n log H ) work-bound for input size n and output size H. When the output size is small, our algorithms run faster than the algorithms whose running times are sensitive only to the input size. Since the upper bound on the output size of the upper envelop problem is known to be small ( n α ( n ) ), where α ( n ) is a slowly growing inverse-Ackerman's function, the algorithms are no worse in cost than the previous algorithms in the worst case of the output size. Our algorithms are designed for the arbitrary CRCW PRAM model. We first describe an O ( log n · ( log H + log log n ) ) time deterministic algorithm for the problem, that achieves O ( n log H ) work bound for H = Ω ( log n ) . We then present a fast randomized algorithm that runs in expected time O ( log H · log log n ) with high probability and does O ( n log H ) work. For log H = Ω ( log log n ) , we can achieve the running time of O ( log H ) while simultaneously keeping the work optimal. We also present a fast randomized algorithm that runs in O ˜ ( log n / log k ) time with nk processors, k > log Ω ( 1 ) n . The algorithms do not assume any prior input distribution and the running times hold with high probability.
Read full abstract