列表列表的索引的复杂度是多少(例如list [x] [y])

时间:2018-10-17 22:54:37

标签: python python-3.x

在python中

move_t

假设我有一个列表,其长度为lst = [[1,2,3...],[4,5,6...]] ,并且每个嵌套列表的长度都相同。 因此,我想使用n查找一些元素。 它的复杂性是什么? 我试图用Google搜索它,但找不到答案。

编辑:谢谢大家!因此,如果我输入一个包含n个列表的列表(每个列表包含n个元素),那么该索引列表多少次(以n表示)?是2n吗?

3 个答案:

答案 0 :(得分:3)

Python数据结构的时间复杂性记录在这里:

https://wiki.python.org/moin/TimeComplexity

您要询问的一个是list的“获取商品”,它是 O(1)。即使您为列表和嵌套列表建立索引,它仍然是 O(1)

答案 1 :(得分:1)

索引编制是 O(1)操作(恒定时间)。因此,两个连续的索引操作仍为 O(1)

答案 2 :(得分:1)

This page显示“获取项目”为O(1)。要分析类似l[x][y]的表达式,将其分解成各个部分可能会有所帮助:

temp = l[x]
temp[y]

在分析顺序操作时,我们增加了时间复杂度。这就是O(1) + O(1)。但这简化为O(1)