我现在正在查看我的旧学校作业,并希望找到问题的解决方案。
哪种排序方法最适合并行处理?
我想快速排序(或合并排序?)就是答案。
我说错了吗?
答案 0 :(得分:15)
与合并排序一样,快速排序也可以轻松并行化,因为它具有分而治之的特性。单个就地分区操作很难并行化,但一旦划分,列表的不同部分可以并行排序。
并行快速排序优于其他并行排序算法的一个优点是不需要同步。一旦子列表可供其工作,就会启动新线程,并且它不与其他线程通信。当所有线程完成后,排序就完成了。
答案 1 :(得分:10)
完全取决于并行化的方法。对于多线程通用计算,合并排序提供了非常可靠的负载平衡和内存本地化属性。对于大型sorting network硬件,如果你想要良好的O(log²n)性能,那么Batcher,Bitonic或Shell排序的形式实际上是最好的。
答案 2 :(得分:4)
我认为合并排序
你可以划分数据集并对它们进行并行操作。
答案 3 :(得分:1)
我认为Merge Sort将是最好的答案。因为合并排序背后的基本思想是将问题分解为单独的解决方案。解决它们并合并它们。
这也是我们在并行处理中实际做的事情。将整个问题划分为小单位语句以并行计算,然后加入结果。 感谢
答案 4 :(得分:1)
只是几句随机的评论:
答案 5 :(得分:0)
它是合并排序,因为排序是在两个子数组上完成的,并且它们在最后进行比较和排序。这些可以并行完成