数据结构期末复习精要
(a1, a2, … ai-1,ai, ai+1 ,…, an)
;线性表的抽象数据类型的定义:
ADT List {
数据对象:D={ai | ai∈Elemset, i=1, 2,…, n, n≥0}
数据关系:R1={ai-1, ai | ai-1, ai∈D, i=2, …, n}
基本操作:
InitList(L)
操作结果:构造一个空的线性表L
DestroyList(L)
初始条件:线性表已存在
操作结果:销毁线性表L
;2.2.1 顺序表的表示;线性表顺序存储特点;线性表的顺序存储结构示意图;例4:一个一维数组M,下标的范围是0到9,每个数组元素用相邻的5个字节存储。存储器按字节编址,设存储数组元素M[0]的第一个字节的地址是98,则M[3]的第一个字节的地址是;线性表的顺序存储结构定义(静态);本节小结;2.3 线性表的链式表示和实现;2.3.1 链表的表示
用一组任意的存储单元存储线性表的数据元素
利用指针实现了用不相邻的存储单元存放逻辑上相邻的元素
每个数据元素ai,除存储本身信息外,还需存储其直接后继的信息
结点
数据域:元素本身信息
指针域:指示直接后继的存储位置;与链式存储有关的术语:;1. 单链表的建立和输出;1. 单链表的建立和输出;将全局变量及函数提前说明:;// 尾插法建立单链表
LinkList s;
head=(LinkList)malloc(m);
p=head;
s=(LinkList)malloc(m); // 为第i个结点开新空间!
s-data=‘A’+i-1; // 为第i个结点值域赋值
p-next=s; // 让p指向的结点的指针域指向新结点s
p=s; // 让指针变量p改为指向新结点s(p后移)
p-next=NULL;
return head; //head是全局变量,此语句可省;LinkList build() //字母链表的生成。带头结点的单链表;3. 单链表的插入;问3:在什么情况下用顺序表比链表好?;3.1 栈(Stack)
栈的定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,不含元素的空表称空栈
特点:先进后出(FILO)或后进先出(LIFO);例1:对于一个栈,给出输入项A、B、C,如果输入项序列由ABC组成,试给出所有可能的输出序列。;例2:一个栈的输入序列是12345,若在入栈的过程中允许出栈,则栈的输出序列43512可能实现吗?12345的输出呢?;例4:计算机系2001年考研题;3.4 队列
3.4.1 抽象数据类型队列的定义
队列(Queue)也是一种运算受限的线性表。它只允许在表的一端进行插入,而在另一端进行删除。允许删除的一端称为队头(front),允许插入的一端称为队尾(rear)。
例如:排队购物。操作系统中的作业排队。先进入队列的成员总是先离开队列。因此队列亦称作先进先出(First In First Out)的线性表,简称FIFO表。
当队列中没有元素时称为空队列。在空队列中依次加入元素a1,a2,…an之后,a1是队头元素,an是队尾元素。显然退出队列的次序也只能是a1,a2,…an ,也就是说队列的修改是依先进先出的原则进行的。; 为克服上述假上溢现象,可以将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量,存储在其中的队列称为循环队列(Circular Queue)。; 由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时头尾指针均相等。
因此,我们无法通过Q.front=Q.rear来判断队列“空”还是“满”。;解决此问题的方法至少有两种:
(1)另设一个布尔变量以区别队列的空和满;
(2)少用一个元素的空间,约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满(注意:rear所指的单元始终为空)
;;头尾指针的加1都是在循环意义下加1;队空:Q.front ==Q. rear
队满:Q.front ==(Q.rear + 1) % maxSize
入队:Q.rear = (Q.rear + 1) % maxSize
出队:Q.front = (front + 1) % maxSize;
求队长:(Q.rear - Q.front + maxSize)%maxSize; 4.1 串类型的定义; 子串、主串:串中任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。通常将子串在主串中首次出现时的该子串的首字符对应的
您可能关注的文档
- 数据结构-第3章栈和队列精要.ppt
- 数据结构820记忆性题总结(By Dawnon)精要.docx
- 数据结构5精要.docx
- 数据结构 第六章-树精要.ppt
- 数据结构chapter1绪论精要.ppt
- 数据结构5-数组精要.ppt
- 数据结构chap1精要.ppt
- 数据结构-08散列精要.ppt
- 数据结构上机实验报告精要.docx
- 数据结构——串精要.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)