Huskysort

12/01/2020
by   R. C. Hillyard, et al.
0

Much of the copious literature on the subject of sorting has concentrated on minimizing the number of comparisons and/or exchanges/copies. However, a more appropriate yardstick for the performance of sorting algorithms is based on the total number of array accesses that are required (the "work"). For a sort that is based on divide-and-conquer (including iterative variations on that theme), we can divide the work into linear, i.e. O(N), work and linearithmic, i.e. O(N log N), work. An algorithm that moves work from the linearithmic phase to the linear phase may be able to reduce the total number of array accesses and, indirectly, processing time. This paper describes an approach to sorting which reduces the number of expensive comparisons in the linearithmic phase as much as possible by substituting inexpensive comparisons. In Java, the two system sorts are dual-pivot quicksort (for primitives) and Timsort for objects. We demonstrate that a combination of these two algorithms can run significantly faster than either algorithm alone for the types of objects which are expensive to compare. We call this improved sorting algorithm Huskysort.

READ FULL TEXT

page 5

page 8

research
06/24/2022

On the Optimisation of the GSACA Suffix Array Construction Algorithm

The suffix array is arguably one of the most important data structures i...
research
06/11/2022

Lower Bounds for Sorting 16, 17, and 18 Elements

It is a long-standing open question to determine the minimum number of c...
research
10/31/2020

Generalized Sorting with Predictions

Generalized sorting problem, also known as sorting with forbidden compar...
research
11/03/2018

QuickXsort - A Fast Sorting Scheme in Theory and Practice

QuickXsort is a highly efficient in-place sequential sorting scheme that...
research
08/31/2020

Sorting an Array Using the Topological Sort of a Corresponding Comparison Graph

The quest for efficient sorting is ongoing, and we will explore a graph-...
research
01/01/2023

Optimization Perspectives on Shellsort

Shellsort is a sorting method that is attractive due to its simplicity, ...
research
06/05/2015

A Real-time Cargo Damage Management System via a Sorting Array Triangulation Technique

This report covers an intelligent decision support system (IDSS), which ...

Please sign up or login with your details

Forgot password? Click here to reset