试题详情
- 简答题什么是队列的上溢现象?一般有几种解决方法,试简述之。
- 在队列的顺序存储结构中,设队头指针为front,队尾指针为rear,队列的容量(即存储的空间大小)为maxnum。当有元素要加入队列(即入队)时,若rear=maxnum,则会发生队列的上溢现象,此时就不能将该元素加入队列。对于队列,还有一种“假溢出”现象,队列中尚余有足够的空间,但元素却不能入队,一般是由于队列的存储结构或操作方式的选择不当所致,可以用循环队列解决。
一般地,要解决队列的上溢现象可有以下几种方法:
(1)可建立一个足够大的存储空间以避免溢出,但这样做往往会造成空间使用率低,浪费存储空间。
(2)要避免出现“假溢出”现象可用以下方法解决:
第一种:采用移动元素的方法。每当有一个新元素入队,就将队列中已有的元素向队头移动一个位置,假定空余空间足够。
第二种:每当删去一个队头元素,则可依次移动队列中的元素总是使front指针指向队列中的第一个位置。
第三种:采用循环队列方式。将队头、队尾看作是一个首尾相接的循环队列,即用循环数组实现,此时队首仍在队尾之前,作插入和删除运算时仍遵循“先进先出”的原则。 关注下方微信公众号,在线模考后查看
热门试题
- 在无向图中,若从顶点A到顶点B存在(),
- 二叉树的前序遍历序列中,任意一个结点均处
- 栈具有后进先出的特性,用途广泛,下列选项
- 数据结构里,树的度描述错误的是()。
- 已知序列(503,87,512,61,9
- 对于同一组记录,生成二叉搜索树的形态与插
- 栈和队列是一种非线性数据结构。
- 编写按层次顺序(同一层自左至右)遍历二叉
- 在双向循环表中,在p所指的结点之后插入指
- 以下表中可以随机访问的是()
- 证明:已知一棵二叉树的前序序列和中序序列
- 在一个堆的顺序存储中,若一个元素的下标为
- 假定查找有序表A[25]中每一元素的概率
- inta[10][10],已知a=100
- 设S()为一个顺序存储的栈,变量top只
- 假设线性表采用顺序存储结构,表中元素值为
- 数据结构里,树是一种常用的数据结构,树的
- 设计判断二叉树是否为二叉排序树的算法。
- 直接选择排序是一种不稳定的排序方法。
- 设二维数组A[m][n]按列优先存储,每