【问题标题】:What would be the best case scenario for a standard selection sort algorhitm?标准选择排序算法的最佳情况是什么?
【发布时间】:2017-09-28 13:00:20
【问题描述】:

元素是升序还是降序排序?

插入排序也一样吗?

【问题讨论】:

  • 只是为了检查一下,您是在要求最佳情况下的行为吗?通常我认为最坏的情况是最重要的,因为那是提供某种保证的情况。
  • 当您说“元素是按升序还是降序排序?”时,您是在问这对时间复杂度有什么影响,或者默认情况下典型的库实现会做什么?

标签: sorting time-complexity selection-sort


【解决方案1】:

对于选择排序,最好的情况是项目已经有序。但是,这并没有真正显着改善运行时间。选择排序没有早出条件;无论列表是否已经有序,您都必须检查每个项目。它总是会进行 (n^2 - n)/2 比较。拥有预排序列表的唯一作用就是消除对 n 个“交换”操作的需要。

对于插入排序,最好的情况也是预排序列表。在这种情况下,插入排序在 O(n) 中运行。降序是插入排序的绝对最坏情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 2020-12-05
    • 2020-09-26
    • 2020-09-26
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    相关资源
    最近更新 更多