是否可以在具有恒定辅助空间的O(n log n)中稳定地对数组进行排序?

时间:2013-10-09 14:55:54

标签: sorting stable-sort

给定 n 元素的数组,是否存在

的排序算法
  1. 最多排序 O(n log n)时间(最好是 O(n)时间)
  2. 很稳定
  3. 需要 O(1)辅助空间
  4. 我发现的所有排序算法只满足其中两个标准:

    • 冒泡排序满足2和3
    • 合并排序满足1和2
    • 堆排序满足1和3

    是否存在满足所有三个标准的算法?

1 个答案:

答案 0 :(得分:1)

来自:https://cstheory.stackexchange.com/

  

存在一个稳定的就地排序算法,其中O(n log n)   比较和O(n)动作。

     

参见:Gianni Franceschini:使用O(n log n)稳定地进行排序   比较和O(n)移动。理论计算。 SYST。 40(4):327-353(2007)   http://www.springerlink.com/content/d7348168624070v7/