什么是绝对最坏情况下已知的最快排序算法?我不关心最好情况,并且假设数据集非常大,如果这有任何影响。
什么是绝对最坏情况下已知的最快排序算法?我不关心最好情况,并且假设数据集非常大,如果这有任何影响。
请确保您已经看过这个链接:
可视化排序算法 - 它帮助我决定了要使用哪种排序算法。
根据数据类型不同,排序的速度也会有所不同。例如对于整数(或任何可以表示为整数的值),最快的排序算法是基数排序,对于固定长度的值,其最坏情况复杂度为O(n)。而最好的通用比较排序算法的复杂度为O(n log n)。
这主要与您的数据集大小以及该集合是否已经排序(或当前处于什么顺序)有关。
整本书都是关于搜索/排序算法的。假设最坏情况下没有“绝对最快”的排序方法,因为不同的排序方法具有不同的最坏情况。
这取决于数据类型和资源类型。例如,有些并行算法可以击败快速排序,但考虑到您提出的问题,您可能无法访问它们。有时一个算法的“最坏情况”对另一个算法来说是“最佳情况”(几乎排序好的数据对快速排序和归并排序来说是有问题的,但对更简单的技术来说很快)。