线性表、顺序表

线性表、顺序表

线性表概念

线性结构特点

  1. 存在唯一一个被称为“第一个”的数据元素
  2. 存在唯一一个被称为“最后一个”的数据元素
  3. 除“第一个”元素无前驱外,集合中每个元素均有且只有一个“直接”前驱;除“最后一个”元素无后继外,集合中每个数据元素均有且只有一个“直接”后继

线性表概念

  1. 线性表:是具有相同数据类型的n(n>=0)个数据元素的有限序列,通常记为:线性表、顺序表
  2. 前驱,后继,表长,空表,首结点,尾结点
  3. 位序:ai(0<=i<=n-1)是线性表中元素,则称i为数据元素ai在线性表中的位序(位置)

两种分类

  1. 顺序表(用一维数组实现定长的线性存储结构 )
    按索引值从小到大存放在一片相邻的连续区域,紧凑结构,存储密度为1线性表、顺序表
    顺序表需要一块连续的存储空间,可以用一个数组实现。保存一个动态数组,需要三个变量:
    data:指向线性表元素类型的指针
    curlength:数组中元素个数(表长)
    maxSize:数组规模(容量)线性表、顺序表

顺序表代码

线性表、顺序表

遍历

线性表、顺序表

查找

线性表、顺序表

插入

线性表、顺序表
考虑情况:
1.位置
2插入情况

线性表、顺序表
线性表、顺序表
最好情况:i=curLength表末插入O(1)
最坏情况:i=0表头插入O(n)
线性表、顺序表

删除

线性表、顺序表
1.表为空
2.删除是否合法
线性表、顺序表

线性表、顺序表
线性表、顺序表

逆置

线性表、顺序表
9个四次线性表、顺序表

链表(用指针实现变长的先行存储结构)

单链表:线性表、顺序表

双链表:线性表、顺序表

循环链表:
线性表、顺序表

特点

  1. 顺序表需要预先分配存储空间,很难恰当预留空间
  2. 逻辑次序核物理次序的一致性,能够按序号(下标)直接存取元素,具有随机存取的特点
  3. 顺序表在插入删除时需要移动大量数据,因此其插入和删除效率低
  4. 难于改变顺序表的大小,需要重新船舰一个新的顺序表,把原表里的数据复制到新表,然后释放原表空间
  5. 顺序表比较适合静态的、经常做定位访问的线性表

习题

线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表
线性表、顺序表

相关文章: