Last indexation completed on 2024-04-14 05:53:08 UTC

 
  Name Size Date (UTC) Last indexed Description
  Name Size Date (UTC) Last indexed Description
folder Parent directory - 2024-02-11 01:40:41  
folder timsort/ - 2024-02-11 01:40:40

Files LICENSE and timsort.hpp were copied from the official cpp-TimSort library.
cpp-TimSort project URL: https://github.com/timsort/cpp-TimSort
You should *not* touch this code, besides updating the files from an official TimSort release. When you find a bug, fix it upstream (the project URL above).
gfx::timsort and gfx::timmerge can be used in place of std::stable_sort and std::inplace_merge respectively for optimization. Timsort performs much better than sorting algorithms from the standard library when the range is close to sorted or contains "runs" of consecutive ordered elements. Timmerge vastly outperforms merging algorithms from the standard library when the two sorted subranges are sparsely overlapping.
https://en.wikipedia.org/wiki/Timsort and https://svn.python.org/projects/python/trunk/Objects/listsort.txt describe the Timsort algorithm in detail. Merging sorted subranges efficiently is a major part of the Timsort algorithm. This subalgorithm is (not commonly) called Timmerge and is naturally described as part of Timsort at the links above.