在无序数组中,不是删除元素O(n)的时间复杂度?

时间:2016-02-16 05:00:27

标签: arrays algorithm

我在某处读到它是O(1)。但是,如果我们需要从数组中删除一个元素,我们需要将所有元素交换到左边,在最坏的情况下,它是否需要进行N个交换,这使得复杂度为O(n)?我很迷惑?!无序数组和未排序数组之间是否存在差异?

2 个答案:

答案 0 :(得分:0)

由于数组是无序的,你可以用最后一个元素填充孔,然后将数组缩短1.不需要将每个元素向下移动一个位置。

答案 1 :(得分:0)

取决于你想要删除元素的方式 - 即,通过提供元素的索引或值 - 它是O(1)O(n)