预分类分析算法?

前端之家收集整理的这篇文章主要介绍了预分类分析算法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Quicksort是一个众所周知的问题,当数据集处于或几乎按排序顺序时,性能会大幅降低.在这种情况下,插入排序通常非常慢,很容易成为最佳选择.问题是知道何时使用哪个.

是否有可用于运行数据集的算法,应用比较因子,并返回有关数据集与排序顺序的接近程度的报告?我更喜欢Delphi / Pascal,但如果示例不是过于复杂,我可以阅读其他语言.

解决方法

正如你所期望的那样.三次中值技术意味着快速排序的最坏情况行为不会发生排序数据,而是针对不太明显的情况.

Introsort非常令人兴奋,因为它完全避免了quicksort的二次最坏情况.而不是你的自然问题,“我如何检测到数据几乎已经排序”,它实际上是在问自己是否正在进行,“这需要花费太长时间吗?”.如果答案是肯定的,它会从快速排序切换到排序.

Timsort将合并排序与插入排序相结合,并且对排序或反向排序的数据以及包含排序或反向排序的子集的数据执行得非常好.

所以可能你的问题的答案是,“你不需要预先通过分析,你需要一个自适应排序算法”.

原文链接:https://www.f2er.com/delphi/102356.html

猜你在找的Delphi相关文章