线性表:
1、 线性表的特性:有限性、相同性、顺序性(a1无前驱,an无后继)
2、 线性表中数据元素的个数称为线性表的长度。
顺序表:
1、线性表的顺序存储结构称为顺序表
2、 用什么属性来描述顺序表?
(1)存储空间的起始位置 (2)顺序表的容量(最大长度) (3)顺序表的当前长度
注意:数组的长度>=当前线性表的长度
3、 顺序表的缺点:
(1)插入和删除操作需移动大量元素 (2)表的容量难以确定 (3)造成存储空间的“碎片”
单链表:
1、为了能正确表示元素之间的逻辑关系,每个存储单元在存储数据元素的同时,还必须存储其后继元素所在的地址信息,这个地址信息称为指针。 这两部分组成了数据元素的存储映像,称为结点。data是数据域,用来存放数据元素;next是指针域(链域),用来存放该结点的后继结点的地址。
2、通常在单链表的开始结点之前附设一个类型相同的结点,称为头结点。
循环链表:
1.在单链表中,如果将终端节点的指针域由空指针改为指向指针头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为循环链表。
2.开始节点的存储地址为->next,终端节点的存储地址为rear.
双链表:
1.data为数据域,存放数据元素;
prior为前驱指针,存放该节点的前驱结点的地址;
next为后继指针域,存放该结点的后继结点的地址;
2.在结点P的后面插入一个新结点S,需要修改4个指针
<1>s->prior=p;<2>s->next=p->next;<3>p->next->prior=s;<4>p->next=s;
3.设指针P指向待删除结点,删除操作需要修改2个结点。
<1>(p->prior)->next=p->next;<2>(p->next)->prior=p->prior;语句可颠倒
所谓时间性能是指基于某种存储结构的基本操作的时间复杂度。