TY - JOUR
T1 - Fast parallel algorithms for minimum and related problems with small integer inputs
AU - Berkman, Omer
AU - Matias, Yossi
PY - 1995
Y1 - 1995
N2 - The fundamental problem of minimum computation has several well-studied generalizations such as prefix minima, range minima, and all nearest smaller values computations. Recent papers introduced parallel algorithms for these problems when the n input elements are given from an integer domain [1..s], obtaining O(lglglgs) running time and linear work for s ≥ n. However, most of these algorithms have the running time of O(lglglgn) (rather than O(lglglgs)) for all values of s ≤ n, except for the case of s = O(1) in which case the running time is O(α(n)). In this paper we focus on the range s ≤ n and provide linear-work algorithms whose running time is O(lglglgs + f(n)) for all s ≥ 0, where f(n) is either one of the slow growing functions lg*n or α(n). We show how to generalize our algorithms to the case that the domain size s is unknown, with the same complexities. (All previous algorithms work only under the assumption that the domain size s is known.) Moreover, we make our algorithms output-sensitive with the lglglgs term replaced by lglglgM, where M is the maximum input value. In fact, for the minimum computation problem the running time is O(lglglgm) for all s ≥ 0, where m is the minimum input value.
AB - The fundamental problem of minimum computation has several well-studied generalizations such as prefix minima, range minima, and all nearest smaller values computations. Recent papers introduced parallel algorithms for these problems when the n input elements are given from an integer domain [1..s], obtaining O(lglglgs) running time and linear work for s ≥ n. However, most of these algorithms have the running time of O(lglglgn) (rather than O(lglglgs)) for all values of s ≤ n, except for the case of s = O(1) in which case the running time is O(α(n)). In this paper we focus on the range s ≤ n and provide linear-work algorithms whose running time is O(lglglgs + f(n)) for all s ≥ 0, where f(n) is either one of the slow growing functions lg*n or α(n). We show how to generalize our algorithms to the case that the domain size s is unknown, with the same complexities. (All previous algorithms work only under the assumption that the domain size s is known.) Moreover, we make our algorithms output-sensitive with the lglglgs term replaced by lglglgM, where M is the maximum input value. In fact, for the minimum computation problem the running time is O(lglglgm) for all s ≥ 0, where m is the minimum input value.
UR - http://www.scopus.com/inward/record.url?scp=0029312001&partnerID=8YFLogxK
U2 - 10.1142/S0129626495000205
DO - 10.1142/S0129626495000205
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:0029312001
SN - 0129-6264
VL - 5
SP - 223
EP - 230
JO - Parallel Processing Letters
JF - Parallel Processing Letters
IS - 2
ER -