假设有一个未排序的数组A,它包含一个元素x(x是元素的指针),并且每个元素都有一个附属变量k。因此,我们可以获得以下时间复杂度(最坏的情况):
如果我们要 搜索 特定的K,则它的成本为O(n)。
如果我们要 插入 一个元素,那么它的成本为O(1),因为A只是将元素添加到末尾。
如果我们知道x,然后将其从数组A中 删除 怎么办?
我们必须先 搜索 xk并获取x的索引,然后通过A中的索引 删除 x,对吗?
因此,对于 Delete ,它也花费O(n),对吗?
谢谢
查找具有给定值的元素是线性的。
由于数组仍未排序,因此您可以在固定时间内自行删除。首先将要删除的元素交换到数组的末尾,然后将数组大小减小一个元素。