Algorithm 快速排序中三个分区的中值如何提高大约5%的效率?;

Algorithm 快速排序中三个分区的中值如何提高大约5%的效率?;,algorithm,sorting,data-structures,quicksort,Algorithm,Sorting,Data Structures,Quicksort,最近我在学习算法。这本书是马克·艾伦·韦斯的《C语言中的数据结构和算法分析》 当我读到快速排序部分时,书中说三个分区的中值将使快速排序效率提高约5%。5%是从哪里来的?有人能帮我一把吗?认为是罗伯特·塞吉威克干的,但没有解释 在上,您将看到对几种排序方法的讨论,包括带中位数和不带中位数3的快速排序 下面是一张名为“实证结果”的表格,不难看出~5%的改善。考虑到分析所有可能输入的巨大复杂性,我认为可以肯定地说,Sedgewicks的说法也基于测量 但我还是不明白这一点。5%是来自最坏的条件计算吗?

最近我在学习算法。这本书是马克·艾伦·韦斯的《C语言中的数据结构和算法分析》

当我读到快速排序部分时,书中说三个分区的中值将使快速排序效率提高约5%。5%是从哪里来的?有人能帮我一把吗?

认为是罗伯特·塞吉威克干的,但没有解释

在上,您将看到对几种排序方法的讨论,包括带中位数和不带中位数3的快速排序


下面是一张名为“实证结果”的表格,不难看出~5%的改善。考虑到分析所有可能输入的巨大复杂性,我认为可以肯定地说,Sedgewicks的说法也基于测量

但我还是不明白这一点。5%是来自最坏的条件计算吗?不是,它来自对一些(大概)随机数据集的测量比较。你总会看到:快速排序是
O(n log n)
,但在本次讨论中,快速排序是
C*(n log n)
,我们谈论的是
C
减少5%。我明白了。因此,结果来自实际运行。非常感谢,你帮了我一个大忙~!:)