Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 并行计算-部分排序_Sorting_Parallel Processing - Fatal编程技术网

Sorting 并行计算-部分排序

Sorting 并行计算-部分排序,sorting,parallel-processing,Sorting,Parallel Processing,我有许多并行计算问题,我不知道该怎么办 为了概念化这个问题,我将给出一个真实的例子。我有一副牌(1-9),我洗牌。我画了3张牌,把最低的放在桌上,然后再画一张,把最低的放在桌上,以此类推 我知道如何连续地做这件事,但我想知道是否有一种并行的好方法。例如: 问题: 825397614 解决方案: 235761489 我曾经考虑过,每个数字可以向前移动两次,向后移动任意次数,但我仍然无法找到一种并行的方法来实现这一点。我是应该在第一个线程上串行运行,还是在CPU上运行 谢谢 在考虑了一段时间后,我决

我有许多并行计算问题,我不知道该怎么办

为了概念化这个问题,我将给出一个真实的例子。我有一副牌(1-9),我洗牌。我画了3张牌,把最低的放在桌上,然后再画一张,把最低的放在桌上,以此类推

我知道如何连续地做这件事,但我想知道是否有一种并行的好方法。例如:

问题:

825397614

解决方案:

235761489

我曾经考虑过,每个数字可以向前移动两次,向后移动任意次数,但我仍然无法找到一种并行的方法来实现这一点。我是应该在第一个线程上串行运行,还是在CPU上运行


谢谢

在考虑了一段时间后,我决定最快的解决方案是迭代每个元素,如果下一个元素较小,则执行交换,但在第一组交换之后并行执行第二组交换,这样只需n+1或+2次操作即可实现双交换。只需几次手术就能支撑更大的人手