SORTING ALGORITHMS AND COMPARISON OF THEIR EFFECTIVENESS - Smagulova L.A.; Yelepbergenova A.U.; Mursakimova G.A.; Nurbekova A. (Academic Scientific Journal of Computer Science, 2019)
The present work is dedicated to the methods of sorting data and analysis of their complexity. There are several reasons for analysis of algorithms. One of them is necessity to evaluate the boundary values for the amount of memory or time required by some algorithm for successful data processing. The sorting process can implemented by various algorithms. The choice of algorithm depends on the structure of the data being processed. In practice two classes of sorting are used: external and internal. If the amount of input data fits within the range of available internal RAM they say about the algorithms for internal sorting. But if the input data are stored in files, i.e. external memory, they say about external sorting. This work demonstrates the fundamental algorithms of internal soritng with quadratic time and quick algorithms with О(n*logn) complexity. Quick sorting algorithms such as merge sorting and Hoare“s quicksort algorithms are given. Also simpler methods of internal sorting such as exchange sort, Shell“s method, insertion and selection algorithms are discussed as well. The article describes the idea behind these methods, agorithms on which they are based, complexity of these algorithms and provides concrete examples of programs.