两个反向排序数组的时间复杂度
TIme complexity of two reversed sorted arrays
将两个反向数组合并成一个有序数组的时间复杂度是多少?
是 O(n) 还是 O(log n)?
如果给定的两个数组都按相反的顺序排列,它将是 O(m + n)(m - length of 1. array, n - length of 2. array)
,因为您需要线性迭代两个数组。
但是如果数组没有排序,你有两个选择:
- 对它们进行排序,排序后合并它们
O(nlogn + mlogm)
。
- 连接数组并对连接后的数组进行排序
O(nlogn + mlogm)
。
将两个反向数组合并成一个有序数组的时间复杂度是多少?
是 O(n) 还是 O(log n)?
如果给定的两个数组都按相反的顺序排列,它将是 O(m + n)(m - length of 1. array, n - length of 2. array)
,因为您需要线性迭代两个数组。
但是如果数组没有排序,你有两个选择:
- 对它们进行排序,排序后合并它们
O(nlogn + mlogm)
。 - 连接数组并对连接后的数组进行排序
O(nlogn + mlogm)
。