Algorithm 对arrya进行排序的最有效方法
在任何语言中,排序数组最有效的方法是什么? 具有最低的O()和P()。我发现shell排序是最好的排序方法之一,但是有更快的方法吗 简而言之: Introsort和Timsort是现实世界中最常用的排序算法 它们的平均复杂度为O(nlogn),在最坏的情况下复杂度为O(n^2),这使得它们在快速排序为O(n^2)的特定情况下优于快速排序。在C和C++ STL中使用了内嵌排序,TyPo排序被用于Python和java实现(至少用于java中的对象数组排序)。Algorithm 对arrya进行排序的最有效方法,algorithm,sorting,theory,any,Algorithm,Sorting,Theory,Any,在任何语言中,排序数组最有效的方法是什么? 具有最低的O()和P()。我发现shell排序是最好的排序方法之一,但是有更快的方法吗 简而言之: Introsort和Timsort是现实世界中最常用的排序算法 它们的平均复杂度为O(nlogn),在最坏的情况下复杂度为O(n^2),这使得它们在快速排序为O(n^2)的特定情况下优于快速排序。在C和C++ STL中使用了内嵌排序,TyPo排序被用于Python和java实现(至少用于java中的对象数组排序)。 Shell排序为O(n(logn)^2
Shell排序为O(n(logn)^2),因此速度稍慢,但占用的内存较少,因此适用于嵌入式系统。有关更多详细信息,请参见快速排序可能是最快的通用算法,速度为O(n logn)。找到此问题答案的最有效方法是什么?Google…堆排序使用O(1)内存和O(nlogn)时间,这不是比shell排序更好吗?是的,它的内存使用量也很小,但比较嵌入式系统中的排序算法是一个微妙的课题。见:例如