Python中元组的时间复杂度

时间:2011-05-27 14:03:41

标签: python complexity-theory tuples

关于哈希(词典)和列表也有类似的问题,这里有一个很好的信息:http://wiki.python.org/moin/TimeComplexity

但我没有发现任何有关元组的信息。

的访问时间
data_structure[i]
  • 对于链表通常是O(n)
  • 词典的
  • 是~O(1)

元组怎么样? 它是O(n)类似于链表还是O(1)类似于数组?

4 个答案:

答案 0 :(得分:8)

列表和元组都是O(1)。它们在道德上都等同于整数索引数组。

答案 1 :(得分:3)

列表和元组的索引方式与数组在其他语言中的方式完全相同。

简化说明是为对象的引用分配空间,这些引用占用了统一的空间量,并且任何索引都只是乘以引用的大小以获得数组的偏移量。这为列表和元组提供了常量的O(1)访问。

答案 2 :(得分:2)

从链表中获取项目是O(n),但Python列表具有基于数组的实现,因此成本为O(1)。

元组也是使用数组实现的,因此它们也是O(1)。

答案 3 :(得分:0)

它应该是O(1),因为它实际上只是一个列表。

但是对于python列表,我也期待O(1)!你可能想再考虑一下......