代码之家  ›  专栏  ›  技术社区  ›  magic-sudo

排序arrya的最有效方法[已关闭]

  •  -3
  • magic-sudo  · 技术社区  · 9 年前

    在任何语言中,排序数组最有效的方法是什么? 具有最低的O()和P()。我发现外壳排序是最好的排序方法之一,但有什么更快的方法吗?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Gerard Rozsavolgyi    9 年前

    简而言之:

    Introsort和Timsort是现实世界中最常用的排序算法。

    它们在平均和最坏情况下都具有O(nlogn)复杂性,这使得它们在QuickSort处于O(n^2)的特定情况下优于QuickSort。Introsort用于C和C++STL,Timsort用于Python和Java实现(至少用于对Java中的对象数组进行排序)。

    Shell排序在O(n(logn)^2)中,因此稍慢,但使用的内存较少,因此适用于嵌入式系统。看见 enter link description here 有关详细信息