集合

  1. 定义:集合是由一个或多个确定的元素构成的整体。
  2. 特征:

    1. 集合里的元素类型不一定相同。
    2. 集合里的元素没有顺序。

      列表

  3. 定义:一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。

数组

  1. 定义:
    1. 列表的实现方式之一,同时具有列表的特征和自己的特征。
    2. 和列表在宏观上的区别为:数组有索引,列表没有索引。
    3. 在内存中连续存储,索引为0的内存地址会被记下。
    4. 一次的空间是固定的,超过需要重新申请
  2. 优势:因为是有序的,所以进行随机访问很方便
  3. 劣势:在中间插入时会导致后面的重新排列,在最后插入时也可能需要重新申请内存

链表

  1. 定义:可以在内存中随意存储,链表的每一项中存储的是后一项的地址
  2. 优势:不需要紧挨着存储,插入操作很方便
  3. 劣势:无法支持随机访问,比如要知道索引9的元素,必须要遍历之前的所有元素
数组 链表
读取 O(1) O(n)
查找 O(n)
插入 O(n) O(1)
删除 O(n) O(1)