问题描述
- 快速排序和合并排序是否可以利用多核进一步加速
-
我在研究快速排序和合并排序的时候突然想到这两个算法是否可以利用多核来进一步加快运行效率~
因为它们是采用了分治法的思想,分解成多个互相独立的子排序,与其他需要顺序执行的排序算法不同~
没经过系统学习~正在看算法导论~勿喷~
解决方案
合并排序比较适合多核加速,jdk8的新Arrays.parallelSort API就是这么实现的,quick sort从理论上来说也可以利用多核加速,不过由于其对于不同数据的split有可能出现线性的特点,理论上不是能保证得到加速。
另外,对于多核加速,期望值不要太高,基于我们对Arrays.parallelSort的测试,4核cpu最多能达到3.2倍的速度,而16核只能达到11.8倍。主要是由于现阶段的split之后还有merge。
解决方案二:
理论上是这样,但是要考虑到数据同步和数据传输传输的开销,这个应该看《并行计算导论》。
解决方案三:
可以~希尔排序也可以多核加速
时间: 2024-10-30 20:14:00