线性表

线性表的特点是可以在任意位置插入一个数据元素或者删除一个数据元素,线性表可以用顺序存储结构或者链式存储结构简称顺序表和链表,链表主要有单链表,循环链表和循环双向链表三种

线性表的定义
  • 除第一个和最后一个元素外,每个数据元素都只有一个前驱数据元素和一个后继数据元素
  • 第一个数据元素没有前驱数据元素,最后一个数据元素没有后继数据元素
    线性表,堆栈,数组,队列,串和数组都属于线性结构

线性表可以在任意位置进行插入和删除

顺序表如数组将数据元素存储在一块连续的地址空间的内存单元中,这样逻辑上相邻的数据元素在物理存储地址上也相邻
顺序表插入和删除一个数据元素的时间复杂度为O(n),其余操作都和n无关,因此顺序表取数据和其他操作的时间复杂度为O(1)
顺序表的优点是取数据元素的操作效率高,内存空间利用率高
顺序表的缺点是插入和删除操作需要移动较多的数据元素

你可能感兴趣的:(线性表)