SOFTWARE IMPLEMENTATION AND RESEARCH OF QUICK SORTING ALGORITHMS
DOI:
https://doi.org/10.31891/2307-5732-2023-323-4-95-105Keywords:
program, algorithm, sorting, parallel sorting, parallel computationsAbstract
The article is devoted to software implementation and research of parallel quick sorting algorithms. Namely for the case when it is not possible to use the assets of OpenMP or CUDA technologies, which are oriented towards C++. An original program has been developed that implements parallel sorting algorithms in the form of a console application using the C#. The development of distributed systems and parallel computing affects the development of algorithms using parallel technologies. There is a need to compare the efficiency of algorithms using technologies of distributed systems and parallel computing. Well-known parallel quick sorting algorithms were selected for software implementation: sequential quick sorting; naive parallel quick sorting; optimized parallel quick sorting; parallel-serial sorting; hyperquick sorting; parallel quicksort by regular sampling. Material on each algorithm in C# is provided. A comparison of the speed of the considered parallel sorting algorithms was made. The possibility of comparing the efficiency of algorithms is interesting and informative in the educational process of training IT specialists. The software implementation of the research of quick sorting algorithms is performed in an iterative mode in a few steps: download the program; in the open console window, enter the desired length of the sorting array for generation; enter the minimum value of the array element; enter the maximum value of the array element: choose the desired one from the list of available sorting algorithms (enter the serial number from the list of algorithms from 1 to 6); after selecting the sorting algorithm, the array is sorted, then the sorting time in milliseconds (ms) is displayed. and a sorted array. As a result of the research, it was found that for technologies related to C#, the best of the considered algorithms is hyperfast sort, and optimized parallel sort or naive parallel sort are acceptable.