A Novel Approach of Implementing Radix Sort by Avoiding Zero Bits Based on Divide and Conquer Technique

T Mathialakan, S Mahesan
2015 International Journal of Computational Intelligence and Informatics   unpublished
Sorting plays a major role in theoretical computations and makes data analysing easy. Even though existing algorithms show good performance in time and space consumption, new techniques are still being fabricated. An efficient non comparative, individual digit clustering, integer sorting algorithm, radix sort seems to be taking í µí± ¶(í µí²). However, in general, it takes í µí± ¶(í µí²í µí°¥í µí°¨í µí° (í µí²)) as the best performance comparison based algorithms do. In order to achieve a
more » ... ter performance algorithm than existing ones, we introduce an inspiring technique based on radix sort. This technique divides set of decimal integers in two groups with respect to bits in the same position in the binary representation. This steps is repeated within each subgroup and the process is continued until the list is sorted. Most significant non zero bit of maximum value is used as pivot bit for partition in each step and avoids to run through leading zero bits. This consumes í µí± ¶(í µí²"í µí²) time where í µí²" is significantly less thaní µí°¥í µí°¨í µí° í µí². Keywords-divide and conquer technique, time complexity, radixes. I. BACKGROUND Sorting is a technique that arranges the elements in ascending or descending order. It is important to data canonicalization and algorithm optimization. A set of elements can be ordered numerically or lexicographically. Most of these algorithms compare elements on the entire list in a certain way in order to sort. These comparing and exchanging processes are executed iteratively or recursively based on the approaches adopted. The fundamental comparison-based sort, such as bubble sort or selection sort takes í µí±'(í µí±› 2) time in average/worst case [1]. However, í µí±'(í µí±›log (í µí±›)) is an achievable worst time by some comparison-based algorithms (e.g. merge, heap). The same time order of í µí±'(í µí±›log(í µí±›)) is taken by quicksort and heapsort in average case [2], [3]. In best case, a non-comparative sorting algorithm radix sort can have an excellent performance withí µí±'(í µí±›)time, but it takes í µí±'(í µí±›log(í µí±›)) time in average case [4]. We can realize usage of this sort in several applicable areas [5] and new techniques were developed frequently based on it [6]-[8], specially parallel versions which support high performance and GPU computing [9]-[14]. We are going to look at an overview of fundamental radix sort, and radix exchange sort, then explain our new approach followed by test cases and discussions.