采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,你好,我在win10上用VS2013跑的快速排序的效率非常低,100000个数据归并是0.5秒,而快速排序的1.2秒。用的是你的代码非常不解
使用VS的同学,在做算法性能测试的时候,请一定使用Release模式运行程序!不然,VS会在Debug模式下的标准库中做一些其他事情,另外运行器也使用的是未优化的版本,从而拖慢算法的执行速度,使得算法性能的比较不准确。可以尝试测试一下,在VS Debug模式下,std::swap的速度非常慢,甚至比自己写的swap还要慢。而我们在归并排序中,没有使用std::swap,所以在debug模式下就会比快排还要快了。
请在VS窗口上方的tool bar上,将运行模式调为Release,再试试看:)
已经调成了release模式,结果一样的还是快排没有归并好。
继续往下看,课程会一点一点对快排做优化的:)
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
8.7k 21
5.7k 3
4.9k 5
1.3k 18