We present an O(log(min( m, n, j))-time sequential algorithm to select the jth-smallest element of an array resulting from the merging of two sorted arrays A and B of sizes m and n. This algorithm is then used to design two parallel algorithms to partition A and B into p subarrays of size O( (m + n) p ) in O( N p + log N) and O( N p + log p log N) times on crew pram and erew pram models with p processors, where N = m + n. A third parallel algorithm has been presented that partitions A and B in O( N p + log p log N) time into p pairs of subarrays of size O( N p ) on erew pram with p processors without using any selection algorithm. Finally, these partitioning algorithms are used to obtain optimal parallel merging and sorting algorithms on crew prams and erew prams.
Read full abstract