arrays - 为什么从列表中检索元素是 O(1)
问题描述
今天在课堂上,我们了解到在 python 中从列表中检索元素是 O(1)。为什么会这样?假设我有一个包含 4 个项目的列表,即:
li=["perry", 1, 23.5, "s"]
这些项目在内存中具有不同的大小。所以不可能把 的内存位置li[0]
,加上每个元素大小的 3 倍来得到 的内存位置li[3]
。那么解释器如何知道在哪里li[3]
而不必遍历列表来搜索呢?
解决方案
推荐阅读
- node.js - 在字符串列表中查找最相似的文本
- socat - 在文件中传递 Socat 参数
- rust - 如何匹配 Rust 中的嵌套字符串
- python - Python 电子邮件大小比使用 smtplib 的 zip 文件大得多
- jsp - JSTL c:if 标记似乎没有任何作用
- php - 嗨,我正在尝试确定为什么此联系表无法发送。已经在服务器上,在我按下发送消息后,什么也没有通过
- java - 我正在使用 ffmpeg java 库将捕获的屏幕截图转换为视频。视频输出模糊
- python - NameError:第 13 行中的名称“国内”未定义
- c# - 异步方法中的同步操作 - 如何修复未正确和完整输出的结果?
- javascript - 尽管没有错误,但我无法将数据库内容导入到我的 html 文件中,我的代码有什么问题?