当前课程知识点:数据结构 >  第3章 栈和队列 >  3.5 队列的定义及ADT >  讲解

返回《数据结构》慕课在线视频课程列表

讲解在线视频

下一节:讲解(上)

返回《数据结构》慕课在线视频列表

讲解课程教案、知识点、字幕

这一节,我们来学习一个新的数据结构:队列

先来看队列的定义

及抽象数据类型,队列

也是一种操作受限的线性表

它规定:只能在表的一端进行插入

在另一端进行删除

注意,它跟前面的栈不一样

栈是在同一端做插入

删除

而队列

是在一端做插入

在另一端作删除

允许插入的这一端

叫做队尾;允许删除的

这一端,叫做队头

英文

分别是rear和front

我们来看一个图

这个图,跟现实世界当中的排队是一样的

它不涉及到内存

现实世界都是向队尾去插入元素

出队的元素

都是从队头出去的

所以,在队尾入队

在队头出队

那么

上述限制,使得队列具有先进先出的性质

那些先入队的元素总是先出队

为了区别于线性表的插入和删除

我们将队列的插入称为入队,enter

将队列的删除称为出队,remove

下面,我们来看队列的抽象数据类型

我们主要关注它的操作部分。初始化,这个前面已经遇到很多次了

在内存当中,从无到有

创建一个队列Q;销毁,释放队列所占的内存

截止到目前为止

我们并没有专门地去写销毁的算法

无论是前面的线性表

还是栈,实际上,销毁

比较简单

无非就是释放一个结构体变量

它所占的内存空间而已

所以,我们没有单独地去实现销毁

第三个操作,isFull,判断队列Q是否为满的

将来,队列能够存放的元素个数也是有一定上限的

所以,这时候我们判断队列是否为满

把它放到full这个参数里面

第四个操作,得到队列的长度,也就是队列当中包含元素的个数

把它放到length这个参数里面

enter,将元素e

入队到队列Q当中

注意,队列的入队是向队尾插入的

出队,remove,将队列Q的队头元素删除

并且,把这个值放到e里面

数据结构课程列表:

第0章 课程简介

-讲解

-作业

-讨论1

-讨论2

第1章 绪论

-1.1 数据结构是什么

--讲解

--作业

-1.2 概念和术语

--讲解

--作业1

--作业2

-1.3 抽象数据类型

--讲解(上)

--讲解(下)

--作业

-1.4 算法及其设计要求

--讲解

--作业

-1.5 算法分析与度量

--讲解(上)

--讲解(下)

--作业1

--作业2

--讨论

第2章 线性表

-2.1 概念及ADT

--讲解

--作业

-2.2 线性表的顺序实现——顺序表

--讲解(上)

--讲解(中)

--讲解(下)

--作业1

--作业2

-2.3 线性表的链式实现——链表

--讲解(上)

--讲解(中)

--讲解(下)

--作业1

--作业2

-2.4 线性表的应用——多项式

--讲解

--作业

-讨论

第3章 栈和队列

-3.1 栈的定义及ADT

--讲解

--作业

-3.2 栈的顺序实现——顺序栈

--讲解

--作业

-3.3 栈的应用

--讲解

--作业

-3.4 栈与递归

--讲解(上)

--讲解(下)

--作业

-3.5 队列的定义及ADT

--讲解

--作业

-3.6 队列的顺序实现——循环队列

--讲解(上)

--讲解(下)

--作业

-讨论

第4章 数组

-4.1 数组的定义

--讲解

--作业

-4.2 数组的顺序实现

--讲解

--作业1

--作业2

-4.3 特殊矩阵的压缩存储

--讲解

--作业

-4.4 稀疏矩阵的压缩存储

--讲解(上)

--讲解(下)

--作业

-讨论

第5章 树和二叉树

-5.1 概念及术语

--讲解

--作业

-5.2 二叉树及其性质

--讲解

--作业1

--作业2

-5.3 二叉树的存储

--讲解

--作业

-5.4 二叉树的遍历及创建

--讲解(上)

--讲解(下)

--作业

-5.5 线索二叉树

--讲解

--作业

-5.6 树与森林

--讲解

--作业

-5.7 Huffman树

--讲解(上)

--讲解(下)

--作业

-讨论

第6章 图

-6.1 概念和术语

--讲解

--作业

-6.2 存储与实现

--讲解(上)

--讲解(下)

--作业

-6.3 遍历

--讲解(上)

--讲解(下)

--作业

-6.4 最小生成树

--讲解(上)

--讲解(下)

--作业1

--作业2

-6.5 拓扑排序

--讲解

--作业

-6.6 最短路径

--讲解

--作业

-讨论

第7章 查找

-7.1 概念和术语

--讲解

--作业

-7.2 静态查找表

--讲解(上)

--讲解(下)

--作业

-7.3 二叉排序树

--讲解(上)

--讲解(下)

--作业

-7.4 平衡二叉树

--讲解

--作业

-7.5 哈希表

--讲解(上)

--讲解(下)

--作业

-讨论

第8章 排序

-8.1 概念

--讲解

--作业

-8.2 插入排序

--讲解(上)

--讲解(下)

--作业

-8.3 交换排序

--讲解(上)

--讲解(下)

--作业

-8.4 选择排序

--讲解(上)

--讲解(中)

--讲解(下)

--作业

-8.5 归并排序

--讲解

--作业

-讨论

讲解笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。