python 中重新分配的内存复杂度
Memory complexity of reassign in 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
的调用,它必须分配一个具有 n
个新引用的数据结构,list_var
中的每个元素一个,因此 space 复杂度为 O(n).
我想知道将 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
的调用,它必须分配一个具有 n
个新引用的数据结构,list_var
中的每个元素一个,因此 space 复杂度为 O(n).