0
一些我与都呈现以下趋势工作数据集的特征: - 数组的通过定制Timsort可以有效改善这些情况下的性能吗?
首先50-70%,几乎与完全乱序的最后30%来分类的。
- 如果我用shell排序替换插入排序部分会有效吗?
- 如果我用shell排序替换插入排序部分会有效吗?
阵列的第一50-70%几乎与含有大量的 龟最后30%排序。
- 是否海龟的发生,不管这么多了,我应该赞成 这个梳排序变化沟Timsort - here。 他们最好的案例表演显示O(n),但平均情况下性能更好的Tim 排序与O(n日志n),而梳状排序有Ω(n日志n),但这是否采取 修改版本梳状排序或考虑到龟的密度?
- 是否海龟的发生,不管这么多了,我应该赞成 这个梳排序变化沟Timsort - here。 他们最好的案例表演显示O(n),但平均情况下性能更好的Tim 排序与O(n日志n),而梳状排序有Ω(n日志n),但这是否采取 修改版本梳状排序或考虑到龟的密度?
与第二种情况相同,但是如果它可以提高性能,则部分排序的输出是正确的。 例如,包含1,000,000个元素的数组可以在数组的前1%时隙中具有最小1%(即 10,000个元素),但不需要在内部进行排序。
- 这可以通过在快速排序一定递归深度后拔出来 地方元素大约接近其应有的地位来完成。
如果是相关的,这里是Java的Timsort代码,我想修改 - code。
这是一个真正值得尝试优化的东西吗?你有分析过吗? –
我的导师正在为他的博士论文撰写一篇基于数据挖掘的论文,他主要致力于此算法,可以为蟋蟀匹配修正绘制启发式算法。因此,即使用shell排序替换插入排序可能没有太大的区别,我也必须探索标准2和3,因为他向我保证数据库将会非常大 - 任何优化都将被赞赏,时间的一些功能。 – Avik