排序数组的最有效方法

Most effective way of sorting arrya

用任何语言对数组进行排序的最有效方法是什么? 具有最低的 O() 和 P()。我发现 shell 排序是最好的排序方式之一,但是有什么更快的方法吗?

简而言之:

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