我正在使用的数据集的一些特征显示以下趋势: -
首先,50-70%的数组几乎按最后30%完全加扰排序。
首先,50-70%的数组几乎按最后30%排序,其中包含大量数据 海龟。
与第二种情况相同,但如果可以提高性能,则部分排序的输出很好。 例如,包含1,000,000个元素的数组可以具有最小的1%(即 10,000个元素)在数组的前1%槽中,但不需要在内部进行排序。
如果它是相关的,那么我正在尝试修改Java的Timsort代码 - code。
答案 0 :(得分:1)
我认为最好的答案是无法可靠地预测自定义TimSort是否会为您的数据集带来有价值的性能改进。您只需要尝试并查看。
我将从我的评论中重复我的建议:首先介绍它!
在您对代表性数据上运行的应用程序进行分析之前,您无法知道这是否有可能对此有所帮助。例如,如果计算仅花费其时间排序数据的5%,那么排序算法的50%加速将仅导致应用程序的2.5%加速。这根本不值得浪费你的时间。