为什么在Python中,列表的访问时间复杂度为O(1)?

13 浏览
0 Comments

为什么在Python中,列表的访问时间复杂度为O(1)?

我知道列表和数组是不同的。但是,O(1)?这意味着在列表中访问一个元素的速度会和在字典中访问一个元素的速度一样快,而我们都知道这是不正确的。

我的问题基于这个文档

列表

----------------------------

| 操作 | 平均情况 |

|-----------|--------------|

| ... | ... |

|-----------|--------------|

| 获取元素 | O(1) |

----------------------------

这个答案

在列表中查找的时间复杂度是O(n),在字典中查找的时间复杂度是摊还的O(1),关于数据结构中的项目数量。

如果第一个文档是正确的,那为什么在它们具有相同复杂度的情况下,访问字典比访问列表更快呢?

请问有人可以清楚地解释一下吗?我会说这完全取决于列表/字典的大小,但我需要更深入的见解。

0