【发布时间】:2015-07-06 00:29:00
【问题描述】:
我正在阅读有关哈希排序与快速排序的性能比较,如下面的 Algorithims in Nutshell。
https://www.safaribooksonline.com/library/view/algorithms-in-a/9780596516246/ch04s08.html
对于 26 个桶,一旦 n >256,哈希排序开始将它的四倍 问题大小翻倍时的性能,显示桶太少 导致 O(n^2) 性能。
n 26桶676桶快速排序 256 0.000051 0.000062 0.000045 512 0.000108 0.000093 0.000098
注意,n是输入的数量,时间以秒为单位。
我的问题是作者所说的“随着问题大小翻倍,灰排序开始使其性能翻两番”是什么意思?
【问题讨论】:
-
它获得了 4 倍更好的性能和 2 倍的数据排序......!?有了更多的上下文,我们也许可以澄清更多......
-
@deceze 我在上面添加了一个链接,你能用数据解释一下如何用 2x 数据提高性能。
-
链接后的段落是直接引自那本书。请相应地格式化。我已经尝试过两次自己进行编辑,但您同时进行了与我发生冲突的其他编辑。
-
嗯,加上上下文,听起来“四倍性能”意味着它变慢了 4 倍。我想说的措辞有点尴尬/不正确。
-
这个:empirical orders of growth。但您的数据显示约 n^1.1(对于 26 个桶和 qsort),而不是 n^2?
标签: algorithm sorting quicksort