Abstract: "We give two algorithms for permuting n items in an array into heap order on a CRCW PRAM. The first is deterministic and runs in O(loglogn) time and performs O(n) operations. This run-time is the best possible for any comparison-based algorithm using n processors. The second is randomized and runs in O(logloglog n) time with high probability, performing O(n) operations. No PRAM algorithm with o(log n) run-time was previously known for this problem. In order to obtain the deterministic result we study the parallel complexity of selecting the kth smallest of n elements on the CRCW PRAM, a problem that is of independent interest. We give an algorithm that is superior to existing ones when k is small compared to n. Consequently, we show that this problem can be solved in O(loglog n + log k/loglog n) time and O(n) operations for all 1 [<or =] k [<or =] n/2. A matching time lower bound is shown for all algorithms that use n or fewer processors to solve this problem."