用 Go 语言实现一个多路归并的 Merge Sort:内存中有一个无序的 int64 数组,数组中有 16M 个整数,要求使用多个 goroutine 对这个无序数组进行排序,使得有元素按照从小到大的顺序排列,并且排序的性能需要比单线程 Quick Sort 快。
这道题我只能想到在子序列排序的时候加入goroutine提高并发。然后我的cpu是12线程的所以起12个goroutine去并发排序应该性能会比较高。在最后利用每个子序列最小数组成,然后将数组里最小数存入结果数组这里。就明显看出来性能差了好多。各位大佬有更好建议吗。
![700587908.jpg](https://static.studygolang.com/190405/570efe6be2e8f35b984c09603dfddaf6.jpg)
配上我画的渣图
有疑问加站长微信联系(非本文作者)