顺序列表

顺序表的定义

线性表的顺序储存又叫做顺序表,一组地址连续的储存单元一次储存线形表中的数据元素。

重要的几个组成元素:

  1. 数据的尺寸 sizeof(elementType)
  2. 数组的总长度,当前长度
  3. 起始位置地址。

一维的数组的分配:

  1. 静态分配: 固定的数组,大小和空间事先已经固定了,静态区内exe区域内;当空间被占满假如新的数据的时候就会溢出。程序崩溃;
  2. 动态分配,程序执行过程中动态分配空间,如果空间满了就分配一个更大的空间,开辟了一块更大的储存空间;

特点:

  1. 随机访问性: add + idx*SizeofElement ,通过首地址和序号可以在O1时间内找到指定元素
  2. 储存密度高,每个节点的只储存数据元素
  3. 逻辑相邻的元素物理上也相邻,所以插入和删除操作需要移动大量元素。

基本操作
  1. 插入操作:
    当插入第i个元素的时候,如果输入不合法则返回false,插入失败,否则顺序表的第i个元素后面元素都右移

  2. 最好情况: 在队尾添加一个元素,时间O1

  3. 最坏情况:在队首天见一个元素,时间On

  4. 平均情况:中间添加的一个元素时间 n/2 平均复杂度On

  5. 删除操作:
    队伍尾巴最好情况O1
    最坏情况:表头元素 On
    平均 (n-1)/2 On

  6. 按值查找

最好:元素就在表头 O1
最坏: 元素在表尾 On
平均 (n+1)/2. On.


一些习题