Abstract

The all nearest smaller values problem is defined as follows. Let A = ( a 1, a 2,..., a n ) be n elements drawn from a totally ordered domain. For each a i , 1 ≤ i ≤ n, find the two nearest elements in A that are smaller than a i (if such exist): the left nearest smaller element a j (with j < i) and the right nearest smaller element a k (with k > i). We give an O(log log n) time optimal parallel algorithm for the problem on a CRCW PRAM. We apply this algorithm to achieve optimal O(log log n) time parallel algorithms for four problems: (i) Triangulating a monotone polygon, (ii) Preprocessing for answering range minimum queries in constant time, (iii) Reconstructing a binary tree from its inorder and either preorder or postorder numberings, (vi) Matching a legal sequence of parentheses. We also show that any optimal CRCW PRAM algorithm for the triangulation problem requires Ω(log log n) time.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call