Abstract
A VLSI sorter of sizeO(n) can sortn elements in linear time when the input and output time are taken into account. If the input contains more thann elements, some prepocessing has to be performed. A VLSI partition algorithm that provides a solution to this problem is presented. The algorithm partitions the input data into two smaller parts as the quicksort algorithm does. That is, the elements of the first part will be smaller than the elements of the second part. The partition is repeated until the parts are small enough to fit in the sorter. It is shown that the average number of times each element must go through the partitioner isO(logk) for a data file of sizekn wheren is the size of the sorter. In the worst case where the partitioner fails to divide the input evenly, the elements must goO(k) times through the partitioner like in the quicksort algorithm. The partitioner can also be used, with simple modifications, as a sorter, a stack, a queue, or as a priority queue. Other advantages of the VLSI algorithm are also discussed.
Similar content being viewed by others
References
D. Friedland,Taxonomy of parallel sorting, Technical Report CS82-08, Dept. of Applied Mathematics, Weizmann Institute of Science, Israel, 1982.
C. A. R. Hoare,Quicksort, Computer J., 5, 10–15, 1961.
S. H. Huang,Quicksort with pivot range, Technical Report UH-CS-83-5, University of Houston, June 1983.
D. E. Knuth,The Art of Computer Programming, Vol. 3, Addison-Wesley, Reading, MA, 1973.
M. R. Kramer and J. van Leeuwen,Systolic computation and VLSI, Technical Report RUU-CS-82-9, University of Utrecht, The Netherlands, June 1982.
C. E. Leiserson,Systolic priority queues, Technical Report CMU-CS-79-115, Carnegie-Mellon University, 1979.
C. Mead and L. Conway,Introduction to VLSI Systems, Addison-Wesley, Reading, MA, 1980.
G. Miranker, L. Tang and C. K. Wong,A “Zero-Time” VLSI sorter, IBM J. Res. Develop., 27, 2, 140–148, 1983.
R. Sedgewick,The analysis of quicksort programs, Acta Informatica, 7, 327–355, 1977.
C. D. Thompson and H. T. Kung,Sorting on a mesh-connected parallel computer, CACM, 20, 4, 263–271, 1977.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Stephen Huang, SH. AVLSI partition algorithm. BIT 28, 215–226 (1988). https://doi.org/10.1007/BF01934087
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01934087