关于三路快排
来源:3-8 三路快速排序法
易萧
2017-06-05
这里面,为什么第二种测试样例,二路可以比三路快一半以上,三路不是只多了对等于情况的判断么,第一个测试样例三路就没有比二路慢那么多
写回答
1回答
-
非常好的问题!
在近乎有序的数组情况下,二路快排的swap次数会相对比较少,因为在近乎有序的数组中,二路快排的partition大部分操作只是i和j两个索引在左右两个端点向中间移动而已。可以仔细思考一下这是为什么?当然了,强烈建议自己亲自试验一下,引入一个变量测试一下双路快排和三路快排的swap操作的执行次数,比较一下最终的结果,相信是一个非常有意思的实验:)
加油!
112017-06-06
相似问题