International Journal of Intelligent Information Processing
2(2) July-December 2008; pp. 363-368
© Serials Publications
SELECTION OF BEST SORTING ALGORITHM
ADITYA DEV MISHRA
*
& DEEPAK GARG
**
The problem of sorting is a problem that arises frequently in computer programming. Many
different sorting algorithms have been developed and improved to make sorting fast. As a measure
of performance mainly the average number of operations or the average execution times of these
algorithms have been investigated and compared. There is no one sorting method that is best for
every situation. Some of the factors to be considered in choosing a sorting algorithm include the
size of the list to be sorted, the programming effort, the number of words of main memory available,
the size of disk or tape units, the extent to which the list is already ordered, and the distribution
of values.
Keywords: Sorting, complexity lists, comparisons, movement sorting algorithms, methods, stable,
unstable, internal sorting
1. INTRODUCTION
Sorting is one of the most important and well-studied problems in computer science.
Many good algorithms are known which offer various trade-offs in efficiency, simplicity,
memory use, and other factors. However, these algorithms do not take into account
features of modern computer architectures that significantly influence performance. A
large number of sorting algorithms have been proposed and their asymptotic complexity,
in terms of the number of comparisons or number of iterations, has been carefully
analyzed [1]. In the recent past, there has been a growing interest on improvements to
sorting algorithms that do not affect their asymptotic complexity but nevertheless
improve performance by enhancing data locality [3,6].
Since the dawn of computing, the sorting problem has attracted a great deal of
research, perhaps due to the complexity of solving it efficiently despite its simple,
familiar statement. It is not always possible to say that one sorting algorithm is better
than another sorting algorithm. Performance of various sorting algorithm depend upon
the data being sorted. Sorting is generally understood to be the process of re-arranging
a given set of objects in a specific order. In particular, sorting is an ideal subject to
demonstrate a great diversity of algorithms, all having the same purpose, many of
them being optimal in some sense and most of them having advantages over others.
The example of sorting is moreover well-suited for showing how a significant gain in
performance may be obtained by the development of sophisticated algorithm when
obvious methods are readily available.
Many different sorting algorithms have been invented and paper will discuss about
some of them in this paper. Why are there so many sorting methods? For computer
science, this is a special case of question, why there are so many x methods?, where x
* Computer Science and Engineering Department, Thapar University, Patiala.