一些python列表操作的时间复杂度是多少?

时间:2020-05-26 18:28:10

标签: python list time-complexity

我知道这是一个基本问题,但是我对基本问题并不擅长。我只知道对于堆栈pop()方法会弹出O(1)时间的最后一个元素。

在python中,允许弹出列表中的任何位置,以及将元素插入到任何位置,即list.pop(index)list.insert(index, item)。如果列表的长度为n,那么它们的平均时间复杂度是多少?

此外,list.insert(index, item)list = list[:index] + [item] + list[index:]之间有区别吗?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尽管list.insert(index, item)list = list[:index] + [item] + list[index:]的功能几乎相同,但Python内置函数list.insert却是将项目插入列表的一种更快的方法。 list.insert更高级,不等同于 list = list[:index] + [item] + list[index:],因为它使用了不同的算法并且速度更快。

时间复杂度为O(n),大约为n / 2。