2013-06-04 38 views
2

要求通过合并排序4个阵列A,B,C和D的这些技术中的任何一个被允许:归并排序变化

  1. 应用4路合并。
  2. 合并A和B.将C与前一个合并的输出合并。最后将D与最后一个输出合并。
  3. 将A与B和C合并为D.现在合并两个输出。

在比较和转移方面,每种技术的优点和缺点是什么?

+1

如果做得对,第三种方法具有并行性的优点。 –

+0

使用大小4堆! – Gevorg

回答

2

有两种效率方法可以在这里考虑:

a。内存使用情况。

湾性能。

第一种技术具有低内存使用率,因为它不产生中间数组。

第三种技术具有很高的性能,因为A/B和C/D可以并行合并,然后合并中间数组。

最后,第二种技术既没有上述特征。

+0

这不是真的与“比较和转移”。 – Dukeling

+0

@Dukeling随意改变它,毕竟它是CW ;-) –

+0

好吧,它似乎与答案截然不同,所以它将是一个相当重要的编辑,在这种情况下,我宁愿发布我自己的答案。但我还没有完全想到它(我也不会尝试)。 – Dukeling