use*_*638 3 c++ sorting algorithm
我必须按降序对数组进行部分排序,其中某些数字可能已经排序.
他们的任何功能是否可以有效地执行它或任何有效的算法.
Timsort专为此案例而设计.
Timsort是一种混合排序算法,源自合并排序和插入排序,旨在很好地处理各种真实数据.它是由Tim Peters在2002年发明的,用于Python编程语言.该算法查找已经排序的数据的子集,并使用子集更有效地对数据进行排序.
另一种选择是Smoothsort,也是为了利用部分排序的数据而设计的.
它是由Edsger Dijkstra在1981年开发的heapsort的变体.像heapsort一样,smoothsort的上限是O(n log n).smoothsort的优点是,如果输入已经在某种程度上排序,它接近O(n)时间,而无论初始排序状态如何,heapsort平均为O(n log n).
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |