为什么删除数组O(1)中的最后一个元素而不是O(n)的最坏情况复杂度?/?

时间:2016-06-20 18:47:32

标签: arrays time-complexity

如果我们有A n的数组int,并且我们想要删除int处的A[n-1],那么我们如何确切地删除O(1)

我的教授声称此操作的最坏情况复杂度为0,但我对如何“正确”删除元素感到困惑。我个人只在A[n-1]中写0,因为这在技术上会用B覆盖它。

我的想法是创建一个包含n-1个元素的新数组n-1,并从A复制第一个O(n)元素,这会产生{{1}的复杂性完成删除,但这显然不是正确的答案。

有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:1)

如果你做n = n-1,你就不再跟踪最后一个与删除最后一个元素相同的元素(虽然它仍然存在于内存中,但可以在以后重写),使其成为O(1 )。