三个排序速度的问题
我这边是使用golang实现的:
数组长度为100000
以下是运行截图
让我很迷惑的是这其中归并排序并不是最快的,插入排序反而是最快的,我尝试使用更大的数据集
结果还是如此。
如果说是因为golang底层实现的原因的话,差距和视频中相差的也太多了
以下是我归并排序和插入排序的代码:
或者是我选择排序实现的有问题吗
并且我这插入排序应该也是不存在先排好序的情况,因为我是让InsertionSort第一个先运行的
27
收起
正在回答 回答被采纳积分+1
2回答
liuyubobobo
2021-01-19 18:22:31
你的 Insertion 排序的实现是错误的。
首先下面的 for 循环没有使用你暂存的 temp,其次,移动元素的过程是 arr[j] = arr[j - 1]
你的这个 Insertion Sort 应该改变了原数组的元素,我们课程中的 isSorted 验证不出这个情况。你可以打印输出一下你的 insertion 结果检验一下。
继续加油!:)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星