合并排序变化n + m,混淆

时间:2016-09-14 03:12:19

标签: arrays algorithm sorting

A成为已按升序排序的n整数数组 设B为未排序的m整数数组 我们知道A中的整数集与B中的整数集不相交。描述一个生成数组的算法,其中所有n + m整数都按升序排序。您的算法应该在O(n + m log m)时间终止。

我知道这应该是合并排序,但n+m中的O(n+mlogm)会让我失望。谁能解释一下呢?

1 个答案:

答案 0 :(得分:2)

我认为你应该先对B数组进行排序:O(mlogm)
之后你有两个排序的数组,你需要合并它们,这将采取:O(n+m)
现在整个过程为O(mlogm + (n+m) ),等于O(mlogm)