20176408李俊 线性表

线性表

                        简称表,是n(n≥0)个具有相同类型的数据元素的有限序列。

线性表的长度:线性表中数据元素的个数。
空表:长度等于零的线性表,记为:L=( )。
非空表记为:L=(a1, a2 , …, ai-1, ai , …, an)
ai(1≤i≤n)称为数据元素;下角标 i 表示该元素在线性表中的位置或序号
线性表的特性
1.有限性*:线性表中数据元素的个数是有穷的。
2.相同性*:线性表中数据元素的类型是同一的。
3.顺序性*:线性表中相邻的数据元素ai-1和ai之间存在序偶关系(ai-1, ai),即ai-1是ai的前驱, ai是ai-1的后继;a1 无前驱,an无后继,其它每个元素有且仅有一个前驱和一个后继
1.线性表的基本操作根据实际应用而定;
2.复杂的操作可以通过基本操作的组合来实现;
3.对不同的应用,操作的接口可能不同。
删除表中的值为x的元素
删除表中的第i个元素
存储要点 用一段地址连续的存储单元
依次存储线性表中的数据元素
顺序表的属性存储空间的起始位置
顺序表的容量(最大长度)
顺序表的当前长度

存储结构

是数据及其逻辑结构在计算机中的表示;
存取结构是在一个数据结构上对查找操作的时间性能的一种描述

顺序表的实现——插入算法描述——伪代码

  1. 如果表满了,则抛出上溢异常;
  2. 如果元素的插入位置不合理,则抛出位置异常;
  3. 将最后一个元素至第i个元素分别向后移动一个位置;
  4. 将元素x填入位置i处;
  5. 表长加1

顺序表的优点
1.无需为表示表中元素之间的逻辑关系而增加额外的
存储空间;
2. 随机存取:可以快速地存取表中任一位置的元素。
顺序表的缺点
1.插入和删除操作需要移动大量元素;
2. 表的容量难以确定,表的容量难以扩充;
3. 造成存储空间的碎片。

单链表

                       线性表的链接存储结构。

单链表是由若干结点构成的;
单链表的结点只有一个指针域
存储特点:

  1. 逻辑次序和物理次序不一定相同
    2.元素之间的逻辑关系用指针表示
    头指针:存储第一个结点的地址,即,指向第一个结点
    尾标志:终端结点的指针域为空
    头结点:在单链表的第一个元素结点之前附设一个类型相同的结点,以便空表和非空表处理统一

双链表

在单链表的每个结点中再设置一个指向其前驱结点的指针域

存储分配方式比较

顺序表采用顺序存储结构,即用一段地址连续的存储单元依次存储线性表的数据元素,数据元素之间的逻辑关系通过存储位置来实现
单链表采用链接存储结构,即用一组任意的存储单元存放线性表的元素。用指针来反映数据元素之间的逻辑关系

猜你喜欢

转载自blog.csdn.net/qq_43253170/article/details/83246562