Increasing the efficiency of quicksort using a neural network based algorithm selection model
Quicksort is one of the most popular sorting algorithms, it is based on a divide-and-conquer technique and has a wide acceptance as the fastest general-purpose sorting technique. Though it is successful in separating large partitions into small ones, quicksort runs slowly when it processes its small partitions, for which completing the sorting through using a different sorting algorithm is much plausible solution. This variant minimizes the overall execution time but it switches to a constant sorting algorithm at a constant cut-off point. To cope with this constancy problem, it has been suggested that a dynamic model which can choose the fastest sorting algorithm for the small partitions. The model includes continuation with quicksort so that the cut-off point is also more flexible. To implement this with an intelligent algorithm selection model, artificial neural networks are preferred due to their non-comparison, constant-time and low-cost architecture features. In spite of the fact that finding the best sorting algorithm by using a neural network causes some extra computational time, the gain in overall execution time is greater. As a result, a faster variant of quicksort has been implemented by using artificial neural network based algorithm selection approach. Experimental results of the proposed algorithm and the several other fast sorting algorithms have been presented, compared and discussed.
quicksort sorting neural networks algorithm selection neural algorithm selection sorting algorithm selection