如果我们有A
n
的数组int
,并且我们想要删除int
处的A[n-1]
,那么我们如何确切地删除O(1)
?
我的教授声称此操作的最坏情况复杂度为0
,但我对如何“正确”删除元素感到困惑。我个人不只在A[n-1]
中写0
,因为这在技术上会用B
覆盖它。
我的想法是创建一个包含n-1
个元素的新数组n-1
,并从A
复制第一个O(n)
元素,这会产生{{1}的复杂性完成删除,但这显然不是正确的答案。
有人可以对此有所了解吗?
答案 0 :(得分:1)
如果你做n = n-1,你就不再跟踪最后一个与删除最后一个元素相同的元素(虽然它仍然存在于内存中,但可以在以后重写),使其成为O(1 )。