Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 嵌套变量类型如何改变时间复杂度?_Python_List_Dictionary_Set_Time Complexity - Fatal编程技术网

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)
    会花费同样的时间吗
  • 我担心将嵌套项添加到集合、dict和列表中的弹出项会因为嵌套而改变这些操作的O(1)优势

  • nested[1]
    nested[2]
    对在
    nested[0]
    上执行操作所需的时间没有任何影响。对象不知道它可能在哪些容器中被引用,也不知道它所在的容器中可能有哪些其他对象

  • 无论添加、删除、检索或替换什么对象,列表操作都会花费相同的时间。嵌套的[2]是什么并不重要
    nested.pop(2)
    所需时间相同。散列大型或高度嵌套的元组或其他可散列对象可能需要更长的时间,因此基于散列的数据结构(如
    dict
    set
    )可能需要更长的时间来处理大型或高度嵌套的键,尽管对值没有任何这样的关注