Python 嵌套变量类型如何改变时间复杂度?
我正在创建一个嵌套类型的列表,如下所示:Python 嵌套变量类型如何改变时间复杂度?,python,list,dictionary,set,time-complexity,Python,List,Dictionary,Set,Time Complexity,我正在创建一个嵌套类型的列表,如下所示: nested = [{}, set([]), []] 假设“嵌套”中的每个项都有许多项 对于“嵌套”中的每种类型的项,由于这些项是嵌套的,哪些操作会改变复杂性?对于添加、删除、弹出等操作,如果nested[1]和nested[2]各有1000、10000或1000000项,对nested[0]执行操作会改变该指令的复杂性吗 哪些操作会改变列表“嵌套”的复杂性?对于像nested.pop(2)这样的东西,其中nested[2]可能有1000个项目。如果n
nested = [{}, set([]), []]
假设“嵌套”中的每个项都有许多项
nested[1]
和nested[2]
各有1000、10000或1000000项,对nested[0]
执行操作会改变该指令的复杂性吗nested.pop(2)
这样的东西,其中nested[2]
可能有1000个项目。如果nested[2]
有1000000个项目,那么nested.pop(2)
会花费同样的时间吗nested[1]
和nested[2]
对在nested[0]
上执行操作所需的时间没有任何影响。对象不知道它可能在哪些容器中被引用,也不知道它所在的容器中可能有哪些其他对象nested.pop(2)
所需时间相同。散列大型或高度嵌套的元组或其他可散列对象可能需要更长的时间,因此基于散列的数据结构(如dict
和set
)可能需要更长的时间来处理大型或高度嵌套的键,尽管对值没有任何这样的关注