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 -