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

时间:2020-06-07 06:53:01

标签: python-3.x list performance time-complexity

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

1 个答案:

答案 0 :(得分: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)。