python - python中重新分配的内存复杂度
问题描述
我想知道将python中的线性变量重新分配给新的线性类型变量的内存复杂度是多少。例如,考虑一个具有一个列表参数的函数,它将其转换为集合。
def func(list_var):
list_var = set(list_var)
return list_var
是 O(n) 内存复杂度还是 O(1)?
解决方案
分配本身不是必需的;从调用者的角度来看,以下具有完全相同的语义:
def func(list_var):
return set(list_var)
重要的部分是对 的调用,它必须为 中的每个元素set
分配一个具有新引用的数据结构,因此空间复杂度为 O(n)。n
list_var
推荐阅读
- scala - 如何将列添加到 Spark 中的数据帧,其值将取决于第二个数据帧的内容?
- amazon-web-services - 通过 VPC 端点的 AWS 私有 API 网关
- c# - Wix 安装程序不运行安装
- java - 编辑 Java 类的所有属性值的注解
- javascript - 检查元素是否在滚动时可见
- java - 当我们使用 Spring Transactional annotation 的修饰符 rollbackFor 时确保 ACID 概念
- python - 处理列中的每一行
- javascript - 在 Browserstack 中运行噩梦测试
- sapui5 - SAP UI5 中的 SearchField 在单击“X”时不呈现建议
- keras - 为什么在这种情况下 sigmoid 函数的性能优于 tanh 和 softmax?