算法-未排序数组中删除的时间复杂度

假设有一个未排序的数组A,它包含一个元素x(x是元素的指针),并且每个元素都有一个附属变量k。因此,我们可以获得以下时间复杂度(最坏的情况):

如果我们要 特定的K,则它的成本为O(n)。

如果我们要 一个元素,那么它的成本为O(1),因为A只是将元素添加到末尾。

如果我们知道x,然后将其从数组A中 怎么办?

我们必须先 搜索 xk并获取x的索引,然后通过A中的索引 删除 x,对吗?

因此,对于 ,它也花费O(n),对吗?

谢谢

回答:

查找具有给定值的元素是线性的。

由于数组仍未排序,因此您可以在固定时间内自行删除。首先将要删除的元素交换到数组的末尾,然后将数组大小减小一个元素。

以上是 算法-未排序数组中删除的时间复杂度 的全部内容, 来源链接: utcz.com/qa/400082.html

回到顶部