We present a parallel algorithm (EREW PRAM algorithm) for linked lists contraction. We show that when we contract a linked list from size $n$ to size $n/c$ for a suitable constant $c$ we can pack the linked list into an array of size $n/d$ for a constant $1 < d\leq c$ in the time of 3 coloring the list. Thus for a set of linked lists with a total of $n$ elements and the longest list has $l$ elements our algorithm contracts them in $O(n\log i/p+(\log^{(i)}n+\log i )\log \log l+ \log l)$ time, for an arbitrary constructible integer $i$, with $p$ processors on the EREW PRAM, where $\log^{(1)} n =\log n$ and $\log^{(t)}n=\log \log^{(t-1)} n$ and $\log^*n=\min \{ i|\log^{(i)} n < 10\}$. When $i$ is a constant we get time $O(n/p+\log^{(i)}n\log \log l+\log l)$. Thus when $l=\Omega (\log^{(c)}n)$ for any constant $c$ we achieve $O(n/p+\log l)$ time. The previous best deterministic EREW PRAM algorithm has time $O(n/p+\log n)$ and best CRCW PRAM algorithm has time $O(n/p+\log n/\log \log n+\log l)$. Keywords: Parallel algorithms, linked list, linked list contraction, uniform linked list contraction, EREW PRAM.
翻译:我们为链接列表收缩提供了一个平行算法( EREW PRAM 算法 ) 。 我们显示, 当我们为合适的恒定值将一个从美元到美元/ 美元( c) 的链接列表从美元到 美元/ 美元( 美元) 标定一个大小( 美元) 时, 我们就可以将链接列表打包成一个 美元/ 美元( dleq c美元) 的阵列, 3 彩虹( 美元) 彩虹( 美元) 元( 美元) 元( 美元) 的链接( 美元) 元( log i/ log/ 美元( i) 的算法( i) i) i ( log l) 美元( O) 美元( 美元) 美元( 美元/ 美元/ 美元( 美元) 美元( 美元/ 美元/ 美元/ 美元( 美元) 美元( 美元/ 美元/ 美元/ 美元( 美元) 美元/ 美元/ 美元( 美元/ 美元/ 美元) 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元) 美元( 美元/ 美元) 美元/ 美元) 美元( 美元) 美元/ 美元/ 美元/ 美元) 美元( 美元/ 美元/ 美元) 美元/ 美元/ 美元) 美元( 美元) 美元) 美元( 美元( 美元/ 美元/ 美元) 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元( 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元) 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元/ 美元) 美元/ 美元/ 美元/ 美元) 美元/ 美元/ 美元/