vs下测试归并排序和希尔排序

来源:3-9 归并排序和快速排序的衍生问题

月夜暗留香

2017-06-22

发现虽然两者在同一级别,但是归并比希尔排序要慢,这正常吗?

写回答

1回答

liuyubobobo

2017-06-22

使用VS测试算法的性能,请一定在release模式下测试。具体可以参见这个问答:

http://coding.imooc.com/learn/questiondetail/3603.html


对于归并排序,merge函数中不断开辟aux也会影响性能,可以参考这里的优化:https://github.com/liuyubobobo/Play-with-Algorithms/tree/master/03-Sorting-Advance/Course%20Code%20(C%2B%2B)/Optional-01-MergeSort-Create-aux-Array-Out-of-Merge


另外,请使用大数据量进行测试。


总体而言,在编译型语言中,应该能够实现出归并排序是快于希尔排序的。我猜测你的情况中,没有使用release模式应该影响最大。

0
1
月夜暗留香
我的在release下,debug下更慢,我先去试试你说的方法。
2017-06-22
共1条回复

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

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

11186 学习 · 1614 问题

查看课程