【发布时间】:2009-11-23 15:53:38
【问题描述】:
我现在正在查看我以前的学校作业并想找到问题的解决方案。
哪种排序方式最适合并行处理?
- 冒泡排序
- 快速排序
- 归并排序
- 选择排序
我猜快速排序(或合并排序?)就是答案。
我说的对吗?
【问题讨论】:
标签: algorithm sorting parallel-processing
我现在正在查看我以前的学校作业并想找到问题的解决方案。
哪种排序方式最适合并行处理?
我猜快速排序(或合并排序?)就是答案。
我说的对吗?
【问题讨论】:
标签: algorithm sorting parallel-processing
与归并排序一样,快速排序也可以轻松实现并行化,因为它具有分而治之的特性。单独的就地分区操作难以并行化,但一旦划分,列表的不同部分可以并行排序。
与其他并行排序算法相比,并行快速排序的一个优点是不需要同步。一旦有一个子列表可供它处理并且它不与其他线程通信,它就会立即启动一个新线程。当所有线程都完成后,排序就完成了。
【讨论】:
这完全取决于并行化的方法。对于多线程通用计算,合并排序提供了非常可靠的负载平衡和内存本地化属性。对于硬件中的大型sorting network,如果您想要良好的 O(log² n) 性能,Batcher、Bitonic 或 Shell 排序实际上是最好的。
【讨论】:
我认为归并排序
您可以划分数据集并对它们进行并行操作..
【讨论】:
我认为合并排序将是这里的最佳答案。因为归并排序背后的基本思想是将问题划分为单独的解决方案。解决它们并合并它们。
这也是我们在并行处理中实际所做的。将整个问题分成小单元语句进行并行计算,然后将结果连接起来。 谢谢
【讨论】:
随便说几句:
【讨论】:
这是归并排序,因为排序是在两个子数组上完成的,它们在最后进行比较和排序。这些可以并行完成
【讨论】: