Python中多少空间剂量列表重新分配成本?

时间:2019-06-02 03:26:59

标签: python

我正在尝试解决O(1)在空间中的问题。谁能帮助我确定以下代码是否占用O(1)空间?

我得到一个列表作为输入,每次运行循环时我都会这样做

list = list[:len(list)/2+1]

列表重新分配是否使用该列表的原始内存,还是应该使用额外的内存?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过简单的测试看到它是浅表副本

list = [1,2,3,4,5,6,7,8]
list2 = list[:len(list)//2+1]

list2[0] = 999
print(list)
print(list2)

此打印

[1, 2, 3, 4, 5, 6, 7, 8]
[999, 2, 3, 4, 5]

因此很明显,他们没有共享内存。这不是O(1)空间

相关问题