数据结构

一般解决队列假溢出现象采用的是循环队列。

题目

一般解决队列假溢出现象采用的是循环队列。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假溢出现象只会出现在哪种数据结构中()

A、顺序表

B、链表

C、栈

D、队列


参考答案:D

第2题:

为了解决假溢出,通常采用()队列的方法,即把队列的存储空间设想成一个头尾相接的环状结构。


正确答案:循环

第3题:

解决队列的假溢出问题,使用的办法是()。

A、循环队列

B、单链表队列

C、栈队列


参考答案:A

第4题:

采用循环链表作为存储结构的队列就是循环队列。


正确答案:错误

第5题:

什么是队列的上溢现象?一般有几种解决方法,试简述之。


正确答案: 在队列的顺序存储结构中,设队头指针为front,队尾指针为rear,队列的容量(即存储的空间大小)为maxnum。当有元素要加入队列(即入队)时,若rear=maxnum,则会发生队列的上溢现象,此时就不能将该元素加入队列。对于队列,还有一种“假溢出”现象,队列中尚余有足够的空间,但元素却不能入队,一般是由于队列的存储结构或操作方式的选择不当所致,可以用循环队列解决。
一般地,要解决队列的上溢现象可有以下几种方法:
(1)可建立一个足够大的存储空间以避免溢出,但这样做往往会造成空间使用率低,浪费存储空间。
(2)要避免出现“假溢出”现象可用以下方法解决:
第一种:采用移动元素的方法。每当有一个新元素入队,就将队列中已有的元素向队头移动一个位置,假定空余空间足够。
第二种:每当删去一个队头元素,则可依次移动队列中的元素总是使front指针指向队列中的第一个位置。
第三种:采用循环队列方式。将队头、队尾看作是一个首尾相接的循环队列,即用循环数组实现,此时队首仍在队尾之前,作插入和删除运算时仍遵循“先进先出”的原则。

第6题:

循环队列也存在空间溢出问题。()


答案:错
解析:
循环队列存储对于同一存储空间可以循环覆盖使用,所以不存在溢出现象。

第7题:

在顺序队列中,什么叫真溢出?什么叫假溢出?为什么顺序队列常都采用循环队列结构?


正确答案:当front 0,rear=M时,再有元素入队发生溢出,称之为“假溢出”,存储空间还有剩余。为了改进这种状况,可以将顺序队列想象为一个首尾相接的环状空间,称之为循环队列。

第8题:

队列中还有空余的空间,但元素不能进入队列的现象称为假溢出现象。( )

此题为判断题(对,错)。


正确答案: 正确

第9题:

循环队列的优点是什么?在循环队列中,仅依据头尾指针相等,无法判断队列是“空”还是“满”。要解决这个问题,常用的两种方法是什么?


正确答案: 循环队列的优点有两点:一是可以避免发生顺序队列的“假上溢”现象;二是充分利用队列的存储空间。
两种判断队列是“空”还是“满”的方法:一是约定少用一个元素空间;二是使用计数器size记录当前队列的实际长度。

第10题:

顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?


正确答案: 一般的一维数组队列的尾指针已经到了数组的上界,不能再有入队操作,但其实数组中还有空位置,这就叫“假溢出”。
采用循环队列是解决假溢出的途径。
另外,解决队满队空的办法有三:
①设置一个布尔变量以区别队满还是队空;
②浪费一个元素的空间,用于区别队满还是队空。
③使用一个计数器记录队列中元素个数(即队列长度)。
我们常采用法②,即队头指针、队尾指针中有一个指向实元素,而另一个指向空闲元素。
判断循环队列队空标志是:f=rear队满标志是:f=(r+1)%N