排序数组(时间复杂度)

时间:2013-02-02 00:22:44

标签: arrays sorting big-o time-complexity

如果我有一个数组0-N排序,而单元格N + 1直到M + N,没有排序。 什么是对数组进行排序的最佳时间复杂度?

谢谢!


编辑:

谢谢!!如果我想在现场这样做,它会改变复杂性吗?

1 个答案:

答案 0 :(得分:4)

首先,只排序M个未排序的元素。这需要使用基于比较的排序(如快速排序,合并排序或堆排序)的时间O(M log M)。

然后将两个排序的段(长度为N和M)合并在一起。这需要时间O(M + N)。

因此,使用基于比较的排序的最佳时间复杂度是O(M + N + M log M)。