48,040 research outputs found
QuickXsort: Efficient Sorting with n log n - 1.399n +o(n) Comparisons on Average
In this paper we generalize the idea of QuickHeapsort leading to the notion
of QuickXsort. Given some external sorting algorithm X, QuickXsort yields an
internal sorting algorithm if X satisfies certain natural conditions.
With QuickWeakHeapsort and QuickMergesort we present two examples for the
QuickXsort-construction. Both are efficient algorithms that incur approximately
n log n - 1.26n +o(n) comparisons on the average. A worst case of n log n +
O(n) comparisons can be achieved without significantly affecting the average
case.
Furthermore, we describe an implementation of MergeInsertion for small n.
Taking MergeInsertion as a base case for QuickMergesort, we establish a
worst-case efficient sorting algorithm calling for n log n - 1.3999n + o(n)
comparisons on average. QuickMergesort with constant size base cases shows the
best performance on practical inputs: when sorting integers it is slower by
only 15% to STL-Introsort
An In-Place Sorting with O(n log n) Comparisons and O(n) Moves
We present the first in-place algorithm for sorting an array of size n that
performs, in the worst case, at most O(n log n) element comparisons and O(n)
element transports.
This solves a long-standing open problem, stated explicitly, e.g., in [J.I.
Munro and V. Raman, Sorting with minimum data movement, J. Algorithms, 13,
374-93, 1992], of whether there exists a sorting algorithm that matches the
asymptotic lower bounds on all computational resources simultaneously
Even faster sorting of (not only) integers
In this paper we introduce RADULS2, the fastest parallel sorter based on
radix algorithm. It is optimized to process huge amounts of data making use of
modern multicore CPUs. The main novelties include: extremely optimized
algorithm for handling tiny arrays (up to about a hundred of records) that
could appear even billions times as subproblems to handle and improved
processing of larger subarrays with better use of non-temporal memory stores
Sin City?
Is moving to the countryside a credible commitment device for couples? We investigate whether lowering the arrival rate of potential alternative partners by moving to a less populated area lowers the dissolution risk for a sample of Danish couples. We find that of the couples who married in the city, the ones who stay in the city have significant higher divorce rates. Similarly, for the couples who married outside the city, the ones who move to the city are more likely to divorce. This correlation can be explained by both a causal and a sorting effect. We disentangle them by using the timing-of-events approach. In addition we use information on fatherâs location as an instrument. We find that the sorting effect dominates. Moving to the countryside is therefore not a cheap way to prolong relationships.dissolution; search; mobility; city
More rapid climate change promotes evolutionary rescue through selection for increased dispersal distance
Acknowledgements This research was funded by FWO projects G.0057.09 to DB and JB, and G.0610.11 to DB, JB and RS. JMJT, DB and RS are supported by the FWO Research Network EVENET.Peer reviewedPublisher PD
A Novel Hybrid Quicksort Algorithm Vectorized using AVX-512 on Intel Skylake
The modern CPU's design, which is composed of hierarchical memory and
SIMD/vectorization capability, governs the potential for algorithms to be
transformed into efficient implementations. The release of the AVX-512 changed
things radically, and motivated us to search for an efficient sorting algorithm
that can take advantage of it. In this paper, we describe the best strategy we
have found, which is a novel two parts hybrid sort, based on the well-known
Quicksort algorithm. The central partitioning operation is performed by a new
algorithm, and small partitions/arrays are sorted using a branch-free
Bitonic-based sort. This study is also an illustration of how classical
algorithms can be adapted and enhanced by the AVX-512 extension. We evaluate
the performance of our approach on a modern Intel Xeon Skylake and assess the
different layers of our implementation by sorting/partitioning integers, double
floating-point numbers, and key/value pairs of integers. Our results
demonstrate that our approach is faster than two libraries of reference: the
GNU \emph{C++} sort algorithm by a speedup factor of 4, and the Intel IPP
library by a speedup factor of 1.4.Comment: 8 pages, research pape
Simple Symmetric Sustainable Sorting -- the greeNsort article
We explored an uncharted part of the solution space for sorting algorithms:
the role of symmetry in divide&conquer algorithms. We found/designed novel
simple binary Quicksort and Mergesort algorithms operating in contiguous space
which achieve improved trade-offs between worst-case CPU-efficiency, best-case
adaptivity and RAM-requirements. The 'greeNsort' algorithms need less hardware
(RAM) and/or less energy (CPU) compared to the prior art. The new algorithms
fit a theoretical framework: 'Footprint' KPIs allow to compare algorithms with
different RAM-requirements, a new 'definition' of sorting API-targets
simplifies construction of stable algorithms with mirrored scan directions, and
our ordinal machine model encourages robust algorithms that minimize access
'distance'. Unlike earlier 'Quicksorts', our 'Zacksort', 'Zucksort' and
'Ducksort' algorithms optimally marry CPU-efficiency and tie-adaptivity. Unlike
earlier 'Mergesorts' which required 100% distant buffer, our 'Frogsort' and
'Geckosort' algorithms achieve similar CPU-efficiency with 50% or less local
buffer. Unlike natural Mergesorts such as 'Timsort' which are optimized for the
best case of full-presorting, our 'Octosort' and 'Squidsort' algorithms achieve
excellent bi-adaptivity to presorted best-cases without sacrificing worst-case
efficiency in real sorting tasks. Our 'Walksort' and 'Jumpsort' have lower
Footprint than the impressive low-memory 'Grailsort' and 'Sqrtsort' of
Astrelin. Given the current climate-emergency, this is a call to action for all
maintainers of sorting libraries, all software-engineers using custom sorting
code, all professors teaching algorithms, all IT professionals designing
programming languages, compilers and CPUs: check for better algorithms and
consider symmetric code-mirroring.Comment: 50 pages, 6 Figures, latest version under
https://github.com/greeNsort/greeNsort.article, see also
https://greensort.or
Enhanced surface acoustic wave cell sorting by 3D microfluidic chip design
We demonstrate an acoustic wave driven microfluidic cell sorter that combines advantages of multilayer device fabrication with planar surface acoustic wave excitation. We harness the strong vertical component of the refracted acoustic wave to enhance cell actuation by using an asymmetric flow field to increase cell deflection. Precise control of the 3-dimensional flow is realized by topographical structures implemented on the top of the microchannel. We experimentally quantify the effect of the structure dimensions and acoustic parameter. The design attains cell sorting rates and purities approaching those of state of the art fluorescence-activated cell sorters with all the advantages of microfluidic cell sorting
- âŠ