## Abstract

A unified vector sorting algorithm (VSA) is proposed, which sorts*N* arbitrary numbers with clog_{2}
*N*-bits on an SIMD multi-processor system (SMMP) with\(p = \frac{{N^{1 + \varepsilon } }}{u}\) processors and a composite interconnected network in\(T = \frac{c}{\varepsilon }\left( {4\log _2 N - 2\log _2 u + 10u} \right)\) time, where*c* is an arbitrary positive constant. When ε is an arbitrary small positive constant and*u*=log_{2}
*N*, it is an*O*(log*N*) algorithm and\(p = \frac{{N^{1 + \varepsilon } }}{{log_2 N}}\); when\(\varepsilon = \frac{1}{{log N}}\) and*u*=2log_{2}
*N*, it is an optimal algorithm (\(p = \frac{N}{{log_2 N}}\),*T* =*O*(log^{2}
*N*),*pT* =*O*(*N* log*N*)); where*u*=1,*c*=1 and ε=0.5 (a constant).

This is a preview of subscription content, log in to check access.

## References

- [1]
Batcher K E. Sorting networks and their applications. In 1968

*Spring Joint Comput. Conf. AFIPS Proc.*, Vol.32, Washington, D.C., 1968, pp.307–314. - [2]
Muller D E, Preparata F P. Bounds to complexities of networks for sorting and for switching.

*JACM*, 1975, 22(2): 195–201. - [3]
Valiant L G. Parallelism in comparison problems.

*SIAM J. Computer*, 1975, 4(3): 355–384. - [4]
Thompson C D, Kung H T. Sorting on a mesh-connected parallel computer.

*CACM*, 1977, 20(4): 263–271. - [5]
Preparata F P. New parallel-sorting schemes.

*IEEE Trans. on Computers*, 1978, C-27(7): 669–673. - [6]
Hirschberg D S. Fast parallel sorting algorithms.

*CACM*, 1978, 21(8): 657–661. - [7]
Ajtai M, Komlos J, Szemeredi E. An

*O*(*n*log*n*) sorting network. In*Proc. of 15th ACM Symp. Theory of Computing*, 1983, pp.1–9. - [8]
Leighton T. Tight Bounds on the complexity of parallel soring.

*IEEE Trans. Computers*, 1985, C-34(4): 344–354. - [9]
Bilardi G, Preparata F P. A minimum area VLSI network for

*O*(log*n*) time sorting.*IEEE Trans. Computers*, 1985, C-34(4): 336–343. - [10]
Reif J H, Valiant L G. A logarithmic time sort for linear size networks.

*JACM*, 1987, 34(1): 60–76. - [11]
Alnuweiri H M, Prasanna Kumar V K. Optimal VLSI sorting with reduced number of processors.

*IEEE Trans. Computers*, 1991, C-40(1): 105–110. - [12]
Guan Xiaojun, Langston M A. Time-space optimal parallel merging and sorting.

*IEEE Trans. on Computers*, 1991, C-40(5): 596–602. - [13]
Wang B F, Chen G H, Lin F C. Constant time soring on a processor array with a reconfigurable bus system.

*IPL*, 1990, 34: 187–192. - [14]
Vaidyanathan R. Sorting on PRAMs with reconfigurable buses.

*IPL*, 1992, 42: 203–208. - [15]
Knuth D E. The Art of Computer Programming, Vol. 3, Sorting and Searching. Addison-Wesley Publishing Company, 1973.

- [16]
Kogge P M, Stone H S. A parallel algorithm for efficient solution of a general class of recurrrence equations.

*IEEE Trans. Computers*, 1973, C-22(8): 789–792. - [17]
Feng T Y. Data manipulating functions in parallel processors and their implementation.

*IEEE Trans. Computers*, C-23(3): 309–318. - [18]
Leighton T. Introduction to Parallel Algorithms and Architectures. Morgan Kaufmann Publishers, Inc., 1992, pp.439–446.

## Author information

### Affiliations

### Corresponding author

Correspondence to Qingshi Gao.

## Additional information

**Gao Qingshi** received his B.S. degree in mathematics from Peking University in 1957. Then he joined the Institute of Computing Technology, The Chinese Academy of Sciences (CAS). In 1979, he had the Professor approintment, and in 1980 he became a Academician of CAS. Now he is the Director of Institute of Intelligence, Language and Computer Science, Beijing University of Science and Technology. His main research interests include parallel algorithm and parallel computer architecture, natural languages and machine translation, discovery and problem solving, human intelligence, and its simulation and application.

## Rights and permissions

## About this article

### Cite this article

Gao, Q. A unified*O*(log*N*) and optimal sorting vector algorithm.
*J. of Comput. Sci. & Technol.* **10, **470 (1995). https://doi.org/10.1007/BF02948343

Received:

Revised:

### Keywords

- Parallel processing
- sorting
- time complexity
- optimal algorithm
- multi-processor system