快排的效率比其他的排序效率低

来源:3-5 快速排序法 - Quick Sort

哎呦不错哦12

2016-12-02

老师,你好,我在win10上用VS2013跑的快速排序的效率非常低,100000个数据归并是0.5秒,而快速排序的1.2秒。用的是你的代码非常不解

写回答

1回答

liuyubobobo

2016-12-02

使用VS的同学,在做算法性能测试的时候,请一定使用Release模式运行程序!不然,VS会在Debug模式下的标准库中做一些其他事情,另外运行器也使用的是未优化的版本,从而拖慢算法的执行速度,使得算法性能的比较不准确。可以尝试测试一下,在VS Debug模式下,std::swap的速度非常慢,甚至比自己写的swap还要慢。而我们在归并排序中,没有使用std::swap,所以在debug模式下就会比快排还要快了。


请在VS窗口上方的tool bar上,将运行模式调为Release,再试试看:)


//szimg.mukewang.com/5840ee900001945306280184.jpg

9
2
liuyubobobo
回复
qq_一路成长_0
继续往下看,课程会一点一点对快排做优化的:)
2018-01-22
共2条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程