# A unified*O*(log*N*) and optimal sorting vector algorithm

Brief Papers

Received:

Revised:

- 12 Downloads

## 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).

## Keywords

Parallel processing sorting time complexity optimal algorithm multi-processor system## 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.Google Scholar - [2]Muller D E, Preparata F P. Bounds to complexities of networks for sorting and for switching.
*JACM*, 1975, 22(2): 195–201.MATHCrossRefMathSciNetGoogle Scholar - [3]Valiant L G. Parallelism in comparison problems.
*SIAM J. Computer*, 1975, 4(3): 355–384.MathSciNetGoogle Scholar - [4]Thompson C D, Kung H T. Sorting on a mesh-connected parallel computer.
*CACM*, 1977, 20(4): 263–271.MATHMathSciNetGoogle Scholar - [5]Preparata F P. New parallel-sorting schemes.
*IEEE Trans. on Computers*, 1978, C-27(7): 669–673.MATHCrossRefMathSciNetGoogle Scholar - [6]Hirschberg D S. Fast parallel sorting algorithms.
*CACM*, 1978, 21(8): 657–661.MATHMathSciNetGoogle Scholar - [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.Google Scholar - [8]Leighton T. Tight Bounds on the complexity of parallel soring.
*IEEE Trans. Computers*, 1985, C-34(4): 344–354.MATHMathSciNetGoogle Scholar - [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.MATHMathSciNetGoogle Scholar - [10]Reif J H, Valiant L G. A logarithmic time sort for linear size networks.
*JACM*, 1987, 34(1): 60–76.CrossRefMathSciNetGoogle Scholar - [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.CrossRefMathSciNetGoogle Scholar - [12]Guan Xiaojun, Langston M A. Time-space optimal parallel merging and sorting.
*IEEE Trans. on Computers*, 1991, C-40(5): 596–602.CrossRefMathSciNetGoogle Scholar - [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.MATHCrossRefGoogle Scholar - [14]Vaidyanathan R. Sorting on PRAMs with reconfigurable buses.
*IPL*, 1992, 42: 203–208.MATHCrossRefGoogle Scholar - [15]Knuth D E. The Art of Computer Programming, Vol. 3, Sorting and Searching. Addison-Wesley Publishing Company, 1973.Google Scholar
- [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.MathSciNetCrossRefGoogle Scholar - [17]Feng T Y. Data manipulating functions in parallel processors and their implementation.
*IEEE Trans. Computers*, C-23(3): 309–318.Google Scholar - [18]Leighton T. Introduction to Parallel Algorithms and Architectures. Morgan Kaufmann Publishers, Inc., 1992, pp.439–446.Google Scholar

## Copyright information

© Science Press, Beijing China and Allerton Press Inc. 1995