Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Where is a high level description of the algorithm? How is it different from quick sort, it seems quite similar based on a quick observation of the code.


The readme file actually contains a fairly thorough description of how it differs from quicksort. Start with the section titled "the best case".


> On average case data where no patterns are detected pdqsort is effectively a quicksort that uses median-of-3 pivot selection

So basically is quicksort with a bit more clever pivot selection, but only for some cases.


You're forgetting probably the most important optimization: block partitioning. This one alone makes it almost 2x faster (on random arrays) than typical introsort when sorting items by an integer key.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: