在数组中合并

时间:2015-08-22 10:04:51

标签: arrays

如果我们有2个整数数组,我们想将它们合并到第三个更大的数组中。

为此,我们需要在合并之前对两个数组进行排序。我想知道我们可以先合并2个数组,然后对合并后创建的第三个数组进行排序吗?

使用此方法,我们将只需要对一个数组(合并后创建的未排序数组)进行排序。但是,如果我们在合并之前对2个数组进行排序,那么在将它们的元素添加到第三个数组时,我们必须按顺序比较一个已排序数组的元素与另一个,这样我们得到的第三个数组也会被排序。

1 个答案:

答案 0 :(得分:0)

您将无法获得性能优势:如果您不需要强制保证最终数组中没有重复条目,那么合并未排序的数组就没问题了。但是:数组的排序成本是O(n log n)。因此,为了滥用术语,单独排序得到O(2 * n log(n))。将两者一起排序为O(2 * n log(2 * n))。这种差距是合并排序数组的额外必要工作来源。