为了账号安全,请及时绑定邮箱和手机立即绑定

哪种排序算法最适合大多数排序数据?

哪种排序算法最适合大多数排序数据?

喵喔喔 2019-08-15 14:53:26
哪种排序算法最适合大多数排序数据?哪种排序算法最适合大多数排序数据?
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

只有几个项目=> INSERTION SORT

项目大多已经排序=> INSERTION SORT

关注最坏情况=> HEAP SORT

对平均案例结果感兴趣=> QUICKSORT

物品来自密集的宇宙=> BUCKET SORT

希望编写尽可能少的代码=> INSERTION SORT


查看完整回答
反对 回复 2019-08-15
?
墨色风雨

TA贡献1853条经验 获得超6个赞

timsort

Timsort是“一种适应性,稳定,自然的融合”,具有“ 在多种部分有序阵列上的超自然表现(需要少于1g(N!)的比较,以及少于N-1)”。Python的内置sort()已经使用这个算法一段时间了,显然效果很好。它专门用于检测和利用输入中部分排序的子序列,这些子序列通常出现在真实数据集中。在现实世界中通常情况下,比较比在列表中交换项目要昂贵得多,因为通常只是交换指针,这通常使得timsort成为一个很好的选择。但是,如果您知道您的比较总是非常便宜(例如,编写玩具程序以对32位整数进行排序),则存在其他可能表现更好的算法。利用timsort的最简单方法当然是使用Python,但由于Python是开源的,你也可以借用代码。或者,上面的描述包含足够的细节来编写您自己的实现。


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 765 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信