algorithm - 按升序对降序排序的最佳排序算法是什么?
问题描述
当有一个数组从一开始就按降序存储数据时,比如5, 4, 3, 2, 1
哪种排序算法(快速排序、归并排序...)是对这个数组进行升序排序的最佳方式?为什么?
解决方案
自然归并排序或 TimSort 的变体(类似于自然归并排序)将扫描递增或递减序列,并在遇到递减序列时反转它们。如果整个数组是一个递减序列,那么初始扫描将在反转数组时对整个数组进行排序。
推荐阅读
- python - 如何使用函数迭代python中数据框的每两列?
- reactjs - 反应JS。如何使用 react-jsonschema-form 比较两个字段,例如密码/重新输入密码字段
- javascript - 如何在映射之前等待加载数据?
- python - 我怎样才能找到我的 tkinter 死了的原因?
- c# - 为什么要使用 IConfigurationSource 来包装 IConfigurationProvider?
- python - Django如何在HTML模板中将所有评论显示为子父关系?
- python - 创建一个包含计数值的汇总表
- http - Esp8266 通过 Wifi 进行 Http 通信
- bash - 在字符串中使用环境变量
- ssl - SSL 证书在 80% 的时间里不工作 Apache