zoukankan      html  css  js  c++  java
  • 数据结构:列表(一)

    一、数组和列表的区别

    区别一:

    数组中存放的数据类型必须一致,可以存放基本类型数据

    list中可以存放不同类型数据,但不能存放基本类型数据

    区别二:

    数组不能删除制定位置元素,除非重建数组对象

    list移除某一元素后,后续元素会前移

    区别三:

    数组初始化后大小固定,且数据都已经被赋值

    列表长度是根据内容的多少而改变的

    二、python中深浅复制的区别

    Python的数据结构总体分为两类:一类:字符串和数字,另外一类:列表、元组、字典等

    1、浅拷贝

    浅拷贝,在内存中只额外创建第一层数据

    1
    2
    3
    4
    5
    import copy
      
    n1 = {"k1""luo""k2"123"k3": ["jia"456]}
      
    n3 = copy.copy(n1)

    2、深拷贝

    深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)

    1
    2
    3
    4
    5
    import copy
      
    n1 = {"k1""luo""k2"123"k3": ["jia"456]}
      
    n4 = copy.deepcopy(n1)

    三、列表提供了哪些基本的操作,这些操作的复杂度是多少

    1、列表提供了哪些基本的操作

    2、这些操作的时间复杂度是多少

    OperationBig-O Efficiency
    index [] O(1)
    index assignment O(1)
    append O(1)
    pop() O(1)
    pop(i) O(n)
    insert(i,item) O(n)
    del operator O(n)
    iteration O(n)
    contains (in) O(n)
    get slice [x:y] O(k)
    del slice O(n)
    set slice O(n+k)
    reverse O(n)
    concatenate O(k)
    sort O(n log n)
    multiply O(nk)
  • 相关阅读:
    设计模式学习工厂模式
    vector详解
    sizeof() c++primer
    list vector
    vc windows 服务问题:服务没有及时响应启动或控制请求
    程序员规范
    c++ map
    省略符形参
    SQL2005附加数据库时遇到的问题:用户组或角色在当前数据库已存在 .
    Socket 阻塞
  • 原文地址:https://www.cnblogs.com/luoahong/p/9681416.html
Copyright © 2011-2022 走看看