Vincent Jugé <vincent.j...@u-pem.fr> added the comment:

Dear all,

After me and my colleagues worked on the first paper you mention, I recently 
created another merge-based sorting algorithm, which I called "Adaptive Shivers 
Sort". This is a close variant of the Augmented Shivers Sort presented by Buss 
& Knop in their article
https://arxiv.org/abs/1801.04641

Like Munro & Wild's Powersort and Peeksort, this algorithm has an optimal 
worst-case running time (up to a linear additive constant) when measured with 
the merge cost model that is used in all the articles you cite in this 
discussion. It also maintains a stack of size log_2(n).
I could not prove such an optimality result for Buss & Knop Augmented Shivers 
Sort.

Custom tests that I had performed suggest that this algorithm is, in practice, 
as efficient as Munro & Wild's algorithms, and also does not suffer from 
critically bad cases.

Moreover, like Buss & Knop's 2-merge, and unlike Munro & Wild's Powersort and 
Peeksort, this algorithm has the advantage of having a structure that is very 
similar to that of Timsort, which may be an advantage in your situation.

That is why, upon reading your discussion, I refurbished my notes about 
Adaptive Shivers Sort, which you may find here:
http://igm.univ-mlv.fr/~juge/papers/shivers_arxiv.pdf

These notes include a description of the algorithm and a worst-time complexity 
analysis. If extending my analysis of this algorithm or investigating tuning 
details were of interest for you, I would be happy to help.

Best regards,

Vincent Jugé

----------
nosy: +vincent.juge

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue34561>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to