明确特定算法的时间复杂度

问题描述 投票:0回答:1

考虑到我已经从n / 2个元素的列表中弹出了任意元素n / 2次。总时间复杂度为O(n2)或O(n)

python-3.x list performance time-complexity competitive-coding
1个回答
0
投票

如果您要弹出列表中未知索引的元素,则每次弹出都会花费n,即列表的大小。

例如,您有一个列表[1、2、3、4、5、6、7、8、9],这里n = 9假设您要删除3个,以便找到3个需要3个单位时间的元素,然后我们需要在3个需要6个单位的元素之后移动元素,因此总共需要9个单位的时间。

因此,如果您要弹出n / 2个元素,则每个元素需要O(n)。因为最后一个元素采用大O表示法表示n / 2,因此我们将其称为O(n)。

因此,对于n / 2个元素,它将花费O(n ^ 2)。

© www.soinside.com 2019 - 2024. All rights reserved.